home *** CD-ROM | disk | FTP | other *** search
/ Ray Tracing Box / RAY_CD.mdf / raytrace / thunder / handbuch.txt < prev    next >
Text File  |  1990-09-05  |  37KB  |  950 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.      TTTTTTT   H     H   U     U   NN   N    DDD     EEEEEEE   RRRR 
  8.         T      H     H   U     U   N N  N    D  DD   E         R   R
  9.         T      HHHHHHH   U     U   N NN N    D   DD  EEEEE     RRRR  
  10.         T      H     H   U     U   N  N N    D  DD   E         R  R  
  11.         T      H     H   UUUUUUU   N  NNN    DDD     EEEEEEE   R   R 
  12.  
  13.    
  14.    
  15.                                Version 2.0
  16.  
  17.  
  18.  
  19.    
  20.    
  21.         geschrieben von Heiko Mikala und André Hinkenjann (c) 1990
  22.    
  23.  
  24.  
  25.    
  26.            Dieses ist eine nicht registrierte Sharewareversion.
  27.            Bitte denken Sie daran, sich registrieren zu lassen.
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.                              INHALT
  35.                              ------
  36.    
  37.    1. SHAREWARE
  38.    
  39.       1.1 VOLLVERSION
  40.                  
  41.    2. HAFTUNG
  42.    
  43.    3. EINLEITUNG
  44.    
  45.    4. SYSTEMVORAUSSETZUNGEN
  46.    
  47.    5. RAYTRACING
  48.    
  49.    6. FARBMODELL
  50.    
  51.    7. SZENENBESCHREIBUNG
  52.    
  53.       7.1 BILDGRÖßE
  54.       
  55.       7.2 ÖFFNUNGSWINKEL
  56.       
  57.       7.3 STANDPUNKT
  58.       
  59.       7.4 BLICKPUNKT
  60.       
  61.       7.5 ACHSENRICHTUNG
  62.       
  63.       7.6 REFLEXIONSZAHL
  64.       
  65.       7.7 BILDDATEI
  66.       
  67.       7.8 BELEUCHTUNG
  68.       
  69.       7.9 SCHACHTELANFANG/SCHACHTELENDE
  70.       
  71.       7.10 OBJEKTDEFINITIONEN
  72.       
  73.            7.10.1 KUGEL
  74.            
  75.            7.10.2 BOX
  76.            
  77.            7.10.3 DREIECK
  78.            
  79.            7.10.4 VIERECK
  80.            
  81.            7.10.5 SÄULE
  82.            
  83.            7.10.6 ROTATIONSKÖRPER
  84.            
  85.       7.11 TEXTURES
  86.       
  87.            7.11.1 BEISPIEL
  88.            
  89.       7.12 OBERFLÄCHENDEFINTIONEN
  90.       
  91.    8. BEISPIEL FÜR EIN EINGABEFILE
  92.    
  93.    9. BEDIENUNG DES PROGRAMMES
  94.    
  95.   10. ANSEHEN GESPEICHERTER BILDER
  96.   
  97.   TIPS                  
  98.    
  99.    
  100.    
  101.    1. SHAREWARE
  102.  
  103.       "Thunder" ist ein SHAREWARE-Programm, d.h. Sie dürfen dieses Programm
  104.       kostenlos benutzen und frei kopieren, sowie beliebig weiterverbreiten
  105.       (Wir würden uns sogar sehr freuen!). Vorraussetzung dafür ist, daß Sie
  106.       die Programme und ihre Dokumentation unverändert lassen.
  107.  
  108.       Die Vollversion von "Thunder" können Sie gegen eine Registriergebühr
  109.       von 40.-DM, zuzüglich Porto + Verpackung bei uns erwerben.
  110.       Dazu füllen Sie bitte das Bestellformular "Bestell.txt" aus und senden
  111.       es an die dort angegebene Adresse.
  112.  
  113.       In diesem Programm stecken viele anstrengende Stunden Arbeit. Bitte
  114.       bedenken Sie, daß das SHAREWARE-Konzept von der Unterstützung der Be-
  115.       nutzer lebt.
  116.  
  117.  
  118.  
  119.  
  120.       1.1 VOLLVERSION
  121.  
  122.       Nach Registrierung bei uns erhalten Sie die neueste Vollversion des
  123.       Programmes "Thunder", die über folgende zusätzliche Eigenschaften ver-
  124.       fügt:
  125.       
  126.          - Rotationskörper
  127.            (beispielsweise Kannen, Gläser, Kegel etc.)
  128.  
  129.          - 80x87 Coprozessor-Unterstützung
  130.            (noch schnellere Berechnung!)
  131.  
  132.          - Unterstützung erweiterter Super-VGA Modi.
  133.            (z.B. Auflösung 640 x 480, 800 x 600 bei 256 Farben)
  134.  
  135.          - Unterstützung bei eventuell auftretenden Problemen und Fragen
  136.  
  137.          - Berechtigung zum verbilligten Erwerb neuer Versionen.
  138.            (Update-Service)
  139.  
  140.  
  141.  
  142.  
  143.    2. HAFTUNG
  144.  
  145.       Da es wissenschaftlich erwiesen ist, daß die fehlerfreie Funktion kom-
  146.       plexer Programme nicht beweisbar ist, können wir keine Gewähr dafür
  147.       übernehmen, daß die von uns gelieferte Software unterbrechungs- oder
  148.       fehlerfrei läuft.
  149.       Wir werden uns jedoch stets bemühen, ausgetestete und fehlerfreie Soft-
  150.       ware zu liefern.
  151.       Für die Lauffähigkeit unter beliebigen Kombinationen von Soft- und Hard-
  152.       ware übernehmen wir keine Garantie.
  153.       Die Haftung für unmittelbare Schäden, mittelbare Schäden, Folgeschäden
  154.       und Drittschäden, sowie für grobe Fahrlässigkeit und Vorsatz ist, soweit
  155.       gesetzlich zulässig, ausgeschlossen.
  156.       In jedem Fall ist die Haftung auf den Kaufpreis beschränkt.
  157.  
  158.  
  159.  
  160.  
  161.  
  162.    3. EINLEITUNG
  163.  
  164.       "Thunder" ist ein Programm zur Erstellung von photorealistischen Com-
  165.       putergrafiken auf IBM-kompatiblen Rechnern, das auf allen Standardgra-
  166.       fikkarten lauffähig ist. Das dabei verwendete Verfahren ist als
  167.       "Ray-Tracing" bekannt. Einer näheren Beschreibung dieses Verfahrens ist
  168.       ein eigenes Kapitel gewidmet. Die von dem Programm berechneten Bilder
  169.       setzen sich aus Objekten zusammen, die in einem Eingabefile definiert
  170.       werden. "Thunder" kennt folgende primitive Objekte:
  171.  
  172.          - Kugeln
  173.          - Boxen
  174.          - Dreiecke
  175.          - Vierecke
  176.  
  177.       sowie folgende zusammengesetzte Objekte:
  178.  
  179.          - Säulen
  180.          - Rotationskörper (nur in der Vollversion)
  181.  
  182.       Die untenstehenden Eigenschaften der Objekte können frei gewählt werden:
  183.  
  184.          - Farbe
  185.          - Transparenz
  186.          - Mattheit/Glänzen
  187.          - Spiegelung
  188.          - Oberflächenstruktur (Texture)
  189.  
  190.       Außerdem können zur Beschleunigung der Berechnung bei komplexen Szenen
  191.       sog. "bounding boxes" definiert werden (s.u.).
  192.  
  193.  
  194.  
  195.  
  196.    4. SYSTEMVORAUSSETZUNGEN
  197.  
  198.       Das Programm setzt einen IBM-kompatiblen Computer mit mind. 256kB Spei-
  199.       cher und eine VGA,EGA,CGA oder Herculeskarte voraus.
  200.       Optimal ist eine VGA-Karte und eine Festplatte, da bei hohen Auflösungen
  201.       die berechneten Bilder größer als 360kB werden können.
  202.  
  203.  
  204.  
  205.  
  206.    5. RAYTRACING
  207.  
  208.       Raytracing ist das Verfahren, das bei vielen aus Film und Fehrnsehen be-
  209.       kannten Logos und Animationen verwendet wird, da es von allen bekannten
  210.       Verfahren zur Herstellung von Computergrafiken die besten Ergebnisse
  211.       liefert.
  212.       Die Übersetzung für Raytracing lautet "Strahlen-Rückverfolgung". Hierbei
  213.       werden vom imaginären Betrachter Sehstrahlen ausgesendet und ihr Weg
  214.       durch eine beliebige Szene verfolgt. Dabei können die Strahlen gebrochen
  215.       oder reflektiert werden. Der Winkel und die Entfernung zu einer oder
  216.       mehreren Lichtquellen bestimmen die Helligkeit der sichtbaren Punkte.
  217.       Die Farbe wird durch die Oberflächeneigenschaften der Objekte bestimmt.
  218.       Durch jeden Punkt auf dem Bildschirm wird also ein Strahl vom Betrachter-
  219.       standpunkt in die imaginäre Szene gesandt, die sich aus den vom Benutzer
  220.       angegebenen Objekten zusammensetzt. Für den Schnittpunkt des Strahles mit
  221.       einem Objekt, der den kürzesten Abstand zum Betrachter hat, wird die Far-
  222.       be des Objektes am Schnittpunkt bestimmt.
  223.       Zunächst erhält das Objekt als "Grundfarbe" den im Eingabefile dafür de-
  224.       finierten ambienten Farbanteil. Je nach den Transparenz- und Spiegelungs-
  225.       eigenschaften, sowie der Lage des Objektes zur (zu den) Lichtequelle(n),
  226.       addieren sich dazu spekulare und diffuse Farbanteile.
  227.  
  228.  
  229.  
  230.  
  231.    6. FARBMODELL
  232.  
  233.       "Thunder" verwendet zur Beschreibung von Farben RGB-Werte, d.h. Farben
  234.       setzen sich aus den drei Grundfarben Rot, Grün und Blau zusammen. Diese
  235.       werden in Intensitäten von 0 bis 255 angegeben, dabei bedeutet 0, daß
  236.       der Farbanteil nicht vorhanden ist, 255 bedeutet höchste Intensität.
  237.       Um andere Farben als Rot, Grün oder Blau herzustellen, müssen die Farb-
  238.       anteile in unterschiedlichen Intensitäten angegeben werden.
  239.  
  240.       Beispiele:    Rot  Grün  Blau      Farbe
  241.  
  242.                       0    0     0       Schwarz
  243.                     150  150   150       Grau
  244.                     255  255   255       Weiß
  245.                     255    0     0       Hellrot
  246.                       0  255     0       Hellgrün
  247.                       0    0   255       Hellblau
  248.                     200  100     0       Braun
  249.  
  250.  
  251.  
  252.  
  253.    7. SZENENBESCHREIBUNG
  254.  
  255.       Wie oben erwähnt wird die zu berechnende Szene durch ein Eingabefile be-
  256.       schrieben, welches folgendes allgemeines Format besitzt:
  257.  
  258.       ( eckige Klammern enthalten optionale Angaben, spitze Klammern enthalten
  259.         Auswahlmöglichkeiten )
  260.  
  261.       - Bildgröße
  262.       - Öffnungswinkel
  263.       - Standpunkt
  264.       - Blickpunkt
  265.       - Achsenrichtung
  266.       - Reflexionszahl
  267.       - Bilddatei
  268.       - Beleuchtung
  269.     [ - Beleuchtung ]
  270.             .
  271.             .
  272.     [ - Beleuchtung ]
  273.     [ - < Marmorfaktor | Holzfaktor | Schachfaktor | Streifenfaktor > ]
  274.     [ - Schachtelanfang ]
  275.       - < Kugel | Box | Dreieck | Viereck | Säule | Rotationskörper >
  276.       - Oberfläche
  277.             .
  278.             .
  279.       [ - Schachtelanfang ]
  280.             .
  281.             .
  282.       [ - Schachtelende   ]
  283.             .
  284.             .
  285.       - < Kugel | Box | Dreieck | Viereck | Säule | Rotationskörper >
  286.       - Oberfläche
  287.     [ - Schachtelende ]
  288.       - Hintergrund
  289.       - Ende
  290.       
  291.       
  292.  
  293.  
  294.  
  295.       7.1 Bildgröße
  296.  
  297.        Format:       Bildgröße
  298.                      x y
  299.  
  300.        Beschreibung: x und y sind zwei ganze, positive Zahlen, die die hori-
  301.                      zontale und vertikale Auflösung des zu berechnenden Bil-
  302.                      des angeben.
  303.                      Die angegebene Auflösung sollte der Auflösung Ihrer Gra-
  304.                      fikkarte entsprechen, Sie können jedoch auch höher aufge-
  305.                      löste Bilder berechnen lassen, die dann allerdings auf
  306.                      Ihrer Grafikkarte nur ausschnittsweise dargestellt werden.
  307.  
  308.       7.2 Öffnungswinkel
  309.  
  310.        Format:       Öffnungswinkel
  311.                      h v
  312.  
  313.        Beschreibung: h und v sind die horizontalen und vertikalen Öffnungswin-
  314.                      kel der Betrachterkamera in Grad, anzugeben als reelle
  315.                      Zahlen.
  316.                      Durch den Öffnungswinkel wir das Blickfeld/Szenenaus-
  317.                      schnitt festgelegt.
  318.  
  319.       7.3 Standpunkt
  320.  
  321.        Format:       Standpunkt
  322.                      x y z
  323.  
  324.        Beschreibung: x,y und z geben die reellwertigen Koordinaten der Betrach-
  325.                      terkamera im dreidimensionalen Raum an.
  326.  
  327.       7.4 Blickpunkt
  328.  
  329.        Format:       Blickpunkt
  330.                      x y z
  331.  
  332.        Beschreibung: x,y und z geben die reellwertigen Koordinaten des Punktes
  333.                      an, auf den der Betrachter blickt. Dieser Punkt wird zum
  334.                      Mittelpunkt des berechneten Bildes.
  335.  
  336.       7.5 Achsenrichtung
  337.  
  338.        Format:       Achsenrichtung
  339.                      x y z
  340.  
  341.        Beschreibung: Hier wird angegeben, welche der drei Achsen nach "oben"
  342.                      zeigt.
  343.  
  344.                      Beispiel: Achsenrichtung
  345.                                0 1 0
  346.  
  347.                                Hier zeigt die y-Achse nach oben.
  348.  
  349.       7.6 Reflexionszahl
  350.  
  351.        Format:       Reflexionszahl
  352.                      r
  353.  
  354.        Beschreibung: Die ganzzahlige, positive Reflexionszahl gibt an, wie
  355.                      oft ein Strahl maximal reflektiert wird.
  356.  
  357.  
  358.       7.7 Bilddatei
  359.  
  360.        Format:       Bilddatei
  361.                      name
  362.  
  363.        Beschreibung: "name" gibt den Pfad- und Dateinamen der Datei an, in der
  364.                      das berechnete Bild abgespeichert werden soll.
  365.  
  366.                      Beispiel: Bilddatei
  367.                                c:\bilder\bild1.rgb
  368.  
  369.       7.8 Beleuchtung
  370.  
  371.        Format:       Beleuchtung
  372.                      i  x y z
  373.  
  374.        Beschreibung: Durch diese Angabe werden Lichtquellen definiert. Licht-
  375.                      quellen senden prinzipiell weißes Licht aus.
  376.                      Der reellwertige, positive Parameter i, im Bereich 0.0
  377.                      (dunkel) bis 1.0 (hell) gibt die Helligkeit, die ganz-
  378.                      zahligen, positiven Parameter x,y und z geben die Koor-
  379.                      dinaten der jeweiligen Lichtquelle an.
  380.  
  381.       7.9 Schachtelanfang/Schachtelende
  382.  
  383.        Format:       Schachtelanfang
  384.                        .
  385.                        . (Objektdefinitionen)
  386.                        .
  387.                      Schachtelende
  388.  
  389.        Beschreibung: Alle Objekte, die zwischen "Schachtelanfang" und "Schach-
  390.                      telende" definiert werden, sind von einer Schachtel um-
  391.                      schlossen. Schachteln können selbst wieder andere Schach-
  392.                      teln beinhalten.
  393.  
  394.                      Beispiel: Schachtelanfang
  395.                                  .
  396.                                  .
  397.                                  Schachtelanfang
  398.                                    .
  399.                                    .
  400.                                  Schachtelende
  401.                                  .
  402.                                  .
  403.                                Schachtelende
  404.  
  405.                      Sinn der Schachteln ist es, die Berechnung zu beschleuni-
  406.                      gen:
  407.                      Für jeden ausgesandten Strahl müssen normalerweise alle in
  408.                      der Szene vorhandenen Objekte auf Schnittpunkte mit dem
  409.                      Strahl überprüft werden. Sind sehr viele Objekte auf klei-
  410.                      nem Raum vorhanden und werden diese von einer Schachtel
  411.                      umgeben, so kann dann keines der Objekte vom Strahl ge-
  412.                      schnitten werden, wenn die Schachtel nicht geschnitten
  413.                      wird. In diesem Fall überprüft "Thunder" die in der
  414.                      Schachtel liegenden Objekte nicht mehr auf Schnittpunkte.
  415.                      Auf diese Weise entfallen unter Umständen sehr viele
  416.                      Schnittpunktberechnungen.
  417.                      Es ist nicht sinnvoll, Schachteln um ein einziges Objekt
  418.                      zu legen, da die Schnittpunktberechnung mit einer Schach-
  419.                      tel ebenso aufwendig ist, wie die mit einem normalen Ob-
  420.                      jekt.
  421.                      
  422.  
  423.  
  424.       7.10 OBJEKTDEFINITIONEN
  425.  
  426.         Bemerkung: Der bei den Objektdefinitionen angegebene optionale Parame-
  427.                    ter "texture" gibt die gewünschte Oberflächenstruktur des
  428.                    Objektes an. Näheres siehe Unterkapitel TEXTURES (7.11).
  429.  
  430.  
  431.         7.10.1 Kugel
  432.  
  433.                Format:       Kugel
  434.                              r x y z [texture]
  435.  
  436.                Beschreibung: Mit dieser Angabe kann eine Kugel definiert wer-
  437.                              den.
  438.                              Die vier reellen Parameter geben den Radius (r)
  439.                              der Kugel und die Koordinaten (x,y,z) des Mittel-
  440.                              punktes der Kugel im Raum an.
  441.  
  442.                              Beispiel: Kugel
  443.                                        10   2.3 47.11 0.07
  444.  
  445.                                        Es wird eine Kugel mit dem Radius 10
  446.                                        definiert, deren Mittelpunkt sich bei
  447.                                        x=2.3, y=47.11 und z=0.07 befindet.
  448.  
  449.  
  450.         7.10.2 Box
  451.  
  452.                Format:       Box
  453.                              x y z xsh ysh zsh [texture]
  454.  
  455.                Beschreibung: Mit dieser Angabe kann eine Box definiert werden.
  456.                              Die sechs reellen Parameter geben die Koordinaten
  457.                              (x,y,z) des Mittelpunktes der Box und jeweils die
  458.                              halbe Seitenlänge (xsh,ysh,zsh) in Richtung der
  459.                              x, y und z - Achsen an.
  460.  
  461.                              Beispiel: Box
  462.                                        5 6.3 7  5 5 5
  463.  
  464.                                        Es wird eine Box (in diesem Fall ein
  465.                                        Würfel) definiert, deren Mittelpunkt
  466.                                        sich bei x=5, y=6.3 und z=7 befindet.
  467.                                        Die Seitenlängen der Box betragen in
  468.                                        x, y und z - Richtung jeweils 10 (beden-
  469.                                        ken Sie, daß xsh,ysh und zsh jeweils die
  470.                                        HALBE Seitenlänge angeben!).
  471.  
  472.  
  473.         7.10.3 Dreieck
  474.  
  475.                Format:       Dreieck
  476.                              x1 y1 z1 x2 y2 z2 x3 y3 z3 [texture]
  477.  
  478.                Beschreibung: Mit dieser Angabe kann ein Dreieck definiert wer-
  479.                              den. Die neun reellen Parameter "x1"..."z3" geben
  480.                              die Koordinaten der drei Eckpunkte des Dreiecks
  481.                              an.
  482.  
  483.                              Beispiel: Dreieck
  484.                                        10 10 5  5 5 10  20 20.5 20.1
  485.                                        
  486.  
  487.  
  488.         7.10.4 Viereck
  489.  
  490.                Format:       Viereck
  491.                              x1 y1 z1 x2 y2 z2 x3 y3 z3 x4 y4 z4 [texture]
  492.  
  493.                Beschreibung: Mit dieser Angabe kann ein Viereck definiert wer-
  494.                              den. Die zwölf reellen Parameter "x1"..."z4" geben
  495.                              die Koordinaten der vier Eckpunkte des Vierecks
  496.                              an.
  497.                              Achtung: Die vier Eckpunkte müssen entgegen oder
  498.                                       im Uhrzeigersinn definiert sein!
  499.                                       Die vier Eckpunkte müssen in einer Ebene
  500.                                       liegen!
  501.  
  502.                              Beispiel: Viereck
  503.                                        -4 -4 0  -4 4 3  4 4 3  4 -4 0
  504.  
  505.                                        (Diese Angaben sind korrekt, da die
  506.                                         Punkte in einer Ebene liegen und im
  507.                                         Uhrzeigersinn definiert wurden.)
  508.  
  509.  
  510.         7.10.5 Säule
  511.  
  512.                Format:       Säule
  513.                              richtung x y z  r h f [texture]
  514.  
  515.                Beschreibung: Auf diese Weise wird eine Säule definiert.
  516.                              Die Längsachse muß parallel zur x-, y- oder
  517.                              z-Achse verlaufen. Ist der ganzzahlige Parameter
  518.                              "richtung" gleich 1, 2 oder 3, so verläuft die
  519.                              Längsachse parallel zur x-, y- oder z-Achse.
  520.                                Die drei reellen Parameter "x", "y", "z" geben
  521.                              die Koordinaten des Mittelpunktes der Säule an.
  522.                              Der reelle Parameter "r" gibt den Radius der Säule
  523.                              an.
  524.                              Der reelle Parameter "h" gibt die halbe Höhe der 
  525.                              Säule an. 
  526.                              Da die Säule durch Vierecke angenähert wird, müs-
  527.                              sen Sie durch den ganzzahligen Parameter "f" den
  528.                              Grad der Annäherung angeben. Dabei gilt, daß die
  529.                              Säule durch f*4 Vierecke angenähert wird.
  530.  
  531.                              Bemerkung: Eine Säule besteht lediglich aus einem
  532.                                         Mantel, sie hat KEINE abschließenden
  533.                                         "Deckel".
  534.  
  535.                              Beispiel: Säule
  536.                                        1  0 0 0  5.5  30  5
  537.  
  538.                                        Es wird eine Säule definiert, die paral-
  539.                                        lel zur x-Achse verläuft. Der Mittel-
  540.                                        punkt der Säule befindet sich im Ur-
  541.                                        sprung. Der Radius der Säule beträgt
  542.                                        5.5, die Höhe 60 (daraus ergibt sich,
  543.                                        daß sich die erste gedachte abschlies-
  544.                                        sende Kreisfläche bei x=30, y=0, z=0, die
  545.                                        zweite bei x=-30, y=0, z=0 befindet). 
  546.                                        Angenähert wird die Säule durch 4*5=20 
  547.                                        Vierecke.
  548.                                       
  549.  
  550.  
  551.         7.10.6 Rotationskörper    ( NUR IN DER VOLLVERSION )
  552.  
  553.                Format:       Rotationskörper
  554.                              anzahl richtung f [texture]
  555.                              x1 y1 z1 r1
  556.                              .
  557.                              .
  558.                              xanz yanz zanz ranz
  559.  
  560.                Beschreibung: Auf diese Weise wird ein Rotationskörper defi-
  561.                              niert, der sich aus "anzahl" Kreisflächen ergibt.
  562.                              Zwischen jeweils zwei dieser Kreisflächen werden
  563.                              wie bei einer Säule Vierecke so gelegt, daß sich
  564.                              aus ihnen eine Mantelfläche ergibt. Im Gegensatz
  565.                              zur Säule können bei den Rotationskörpern die
  566.                              Kreisflächen jedoch unterschiedliche Radien be-
  567.                              sitzen.
  568.                              Der ganzzahlige Parameter "richtung" gibt an, zu
  569.                              welcher Achse die Kreisflächen senkrecht stehen.
  570.                              Die Kreisflächen können beliebig im Raum verteilt
  571.                              sein, stehen jedoch alle senkrecht zur angegebenen
  572.                              Achse.
  573.                              Der ganzzahlige Parameter "f" gibt den Grad der
  574.                              Annäherung der Mantelflächen an (siehe "Säule").
  575.                              Nun folgen "anzahl" viele Definitionen von Kreis-
  576.                              flächen. Dabei geben "xn", "yn" und "zn" jeweils
  577.                              die Koordinaten der Mittelpunkte der Kreisflächen
  578.                              an, der Parameter "rn" bestimmt deren Radius.
  579.  
  580.                              Beispiel: Rotationskörper
  581.                                        2 2 7
  582.                                        0 0 0    10
  583.                                        3 7.8 0  0.1
  584.  
  585.                                        Diese Angaben definieren einen schiefen
  586.                                        Kegel.
  587.                                        Durch die Angabe 2 für "anzahl" wird
  588.                                        festgelegt, daß zwei Definitionen von
  589.                                        Kreisflächen folgen. Dadurch, daß der
  590.                                        Parameter "richtung" auf 2 gesetzt wird,
  591.                                        liegen alle Kreisflächen senkrecht zur
  592.                                        y-Achse (parallel zur x-z-Ebene).
  593.                                        Die Mantelfläche wird durch 7*4=28 Vier-
  594.                                        ecke angenähert.
  595.                                        Die erste der Kreisflächen liegt im Ur-
  596.                                        sprung, der Radius beträgt 10.
  597.                                        Die zweite Kreisfläche befindet sich pa-
  598.                                        rallel zur ersten bei x=3, y=7.8, z=0
  599.                                        und hat den Radius 0.1.
  600.                                        
  601.  
  602.       7.11 TEXTURES
  603.  
  604.            Der letzte, optionale Parameter "texture" bei den Objektdefinitionen
  605.            gibt an, wie die Oberfläche des definierten Objektes beschaffen sein
  606.            soll:
  607.            Stellen Sie sich vor, der betrachtete dreidimensionale Raum sei an-
  608.            gefüllt mit einem bestimmten Muster. Dieses Muster wird nur dann auf
  609.            der Oberfläche eines Objektes sichtbar, wenn der Name dieses Musters
  610.            als Parameter "texture" angegeben wird.
  611.            Da die Muster starr im Raum liegen, können Sie die Feinheit der Mus-
  612.            ter durch die jeweiligen "texturefaktoren" festlegen. So ergibt ein
  613.            großer "Streifenfaktor" beispielsweise breite Streifen, ein kleiner
  614.            "Streifenfaktor" schmalere Streifen.
  615.  
  616.            Der größte Vorteil dieses Verfahrens zur Berechnung von textures
  617.            ist die hohe Ausführungsgeschwindigkeit, es hat aber auch einen
  618.            Nachteil:
  619.            Dadurch, daß die Muster fest im Raum liegen und nicht etwa auf die
  620.            Oberflächen der Objekte projiziert werden (was einen erheblich hö-
  621.            heren Rechenaufwand bedeuten würde), sind genau die Teile des Mus-
  622.            ters sichtbar, die sich an der selben Stelle wie die Oberfläche be-
  623.            finden. Daher erscheint z.B. ein Schachbrettmuster auf einer Kugel
  624.            nicht zwangsläufig wirklich wie ein Schachbrettmuster, da die Kugel
  625.            das starre Muster schief schneidet.
  626.  
  627.            Folgende Textures werden von "Thunder" angeboten:
  628.  
  629.               - Holz
  630.               - Marmor
  631.               - Schach      (Schachbrettmuster)
  632.               - X-Streifen  (gestreift in x-Richtung)
  633.               - Y-Streifen  (gestreift in y-Richtung)
  634.               - Z-Streifen  (gestreift in z-Richtung)
  635.  
  636.            Die zugehörigen (positiven, reellen) Texturefaktoren sind:
  637.  
  638.               - Holzfaktor
  639.               - Marmorfaktor
  640.               - Schachfaktor
  641.               - Streifenfaktor  (gilt für alle Streifenarten)
  642.  
  643.            Während alle anderen Textures tatsächlich die Muster ergeben, die
  644.            man entsprechend ihrem Namen erwartet, ist "Marmor" ein experimen-
  645.            telles Muster, das bei dem Versuch entstand, ein Marmor-Texture zu
  646.            entwerfen. Die entstehenden Effekte sind durchaus interessant, aber
  647.            nicht immer wirklich marmorähnlich. Experimentieren Sie ruhig ein
  648.            wenig!
  649.  
  650.            7.11.1 BEISPIEL
  651.  
  652.                   Das folgende Beispiel demonstriert die Verwendung des Schach-
  653.                   brettmusters auf einer Box:
  654.  
  655.                   .
  656.                   .
  657.                   Schachfaktor
  658.                   2
  659.                   .
  660.                   .
  661.                   Box
  662.                   0 0 0  5 5 5 Schach
  663.                   .
  664.                   .
  665.                  
  666.  
  667.  
  668.       7.12 OBERFLÄCHENDEFINITIONEN
  669.  
  670.            Format:       Oberfläche
  671.                          ar ag ab  dr dg db  sr sg sb  koeff  refl  transp
  672.  
  673.            Beschreibung: Die Farbe einer Oberfläche wird beschrieben durch
  674.                          ihren ambienten (ar, ag, ab), diffusen (dr, dg ,db)
  675.                          und spekularen (sr, sg, sb) Farbanteil, der durch po-
  676.                          sitive, ganze Zahlen im Bereich von 0 bis 255 angege-
  677.                          ben wird (RGB-Werte).
  678.                          Die Mattheit/Glänzen wird angegeben durch den positi-
  679.                          ven, reellen spekularen Koeffizienten (koeff). Je
  680.                          größer Sie "koeff" wählen, desto glänzender ist die 
  681.                          Oberfläche.
  682.                          Der positive, reelle Parameter "refl" (im Bereich 0-1)
  683.                          bestimmt, ob ein Objekt spiegelt und wenn ja, wie
  684.                          stark. Wünschen Sie keine Spiegelung, so setzen Sie
  685.                          refl auf 0, der maximalen Spiegelung entspricht 1.
  686.                          "transp" (positiv, reell) bestimmt die Transparenz
  687.                          eines Objektes. Ist "transp" gleich 1, so ist das Ob-
  688.                          jekt vollkommen durchsichtig, bei 0 ist es undurch-
  689.                          sichtig.
  690.  
  691.                          Beispiel: Oberfläche
  692.                                    200 0 0  200 0 0  200 0 0  2.0  1.0  0.0
  693.  
  694.                                    Da die grünen und blauen Farbanteile der
  695.                                    Oberfläche auf Null gesetzt und nur die ro-
  696.                                    ten Farbanteile größer als Null sind, wird
  697.                                    eine rote Oberfläche definiert. Diese Ober-
  698.                                    fläche ist voll spiegelnd (refl=1.0) und
  699.                                    vollkommen undurchsichtig.
  700.  
  701.  
  702.                          Bemerkung: Eine Oberflächenbeschreibung gilt immer für
  703.                                     alle vorhergehenden Objekte, für die noch
  704.                                     keine Oberflächenbeschreibung angegeben
  705.                                     wurde. D.h., wenn Sie mehrere Objekte mit
  706.                                     gleichen Oberflächeneigenschaften versehen
  707.                                     wollen, so reicht es aus, die Oberflächen-
  708.                                     beschreibung nach Definition des letzten
  709.                                     dieser Objekte anzugeben.
  710.  
  711.  
  712.  
  713.    8. BEISPIEL FÜR EIN EINGABEFILE
  714.    
  715.       Das folgende Eingabefile definiert ein Bild, in dessen Mitte sich eine
  716.       rosafarbene Säule befindet. Auf der Säule liegt eine grüne Kugel, die Säu-
  717.       le steht auf einer grünen, gestreiften Box.
  718.       Das Beispiel zeigt auch, daß und wie Kommentare in Eingabefiles eingefügt
  719.       werden können:
  720.       
  721.  
  722.       /* Ausschnittsgröße 100*100 Punkte */
  723.       Bildgröße
  724.       100 100
  725.  
  726.       /* horizontaler Öffnungswinkel=20, vertikaler=25 */
  727.       Öffnungswinkel
  728.       20 25
  729.  
  730.       Standpunkt
  731.       0 0 -80
  732.  
  733.       /* Man sieht auf den Ursprung */
  734.       Blickpunkt
  735.       0 0 0
  736.  
  737.       /* Die y-Achse zeigt nach oben */
  738.       Achsenrichtung
  739.       0 1 0
  740.  
  741.       /* maximal eine Reflexion zulassen */
  742.       Reflexionszahl
  743.       1
  744.  
  745.       Bilddatei
  746.       bsp.rgb
  747.  
  748.       /* Eine Lampe maximaler Helligkeit */
  749.       Beleuchtung
  750.       1  -10 20 -80
  751.  
  752.  
  753.  
  754.       /* Die Streifen sind zwei Einheiten dick */
  755.       Streifenfaktor
  756.       2
  757.       
  758.  
  759.  
  760.       /* Alle folgenden Objekte in eine Schachtel packen */
  761.       Schachtelanfang
  762.  
  763.  
  764.  
  765.           /* Eine Säule in die Mitte des Bildes legen */
  766.  
  767.           Säule
  768.           2  0 0 0  5  10  8
  769.  
  770.           /* Die Oberflächenbeschreibung der Säule */
  771.  
  772.           Oberfläche
  773.           210 10 70   210 10 70   150 210 70   1.0 0.8 0.0
  774.  
  775.  
  776.  
  777.  
  778.           /* Eine Kugel oben auf die Säule legen */
  779.  
  780.           Kugel
  781.           10  0 20 0
  782.  
  783.  
  784.           /* Eine gestreifte Box unter die Säule legen */
  785.  
  786.           Box
  787.           0 -12.5 0  15 2.5 10  X-Streifen
  788.  
  789.  
  790.           /* gemeinsame Oberflächenbeschreibung für Box und Kugel */
  791.  
  792.           Oberfläche
  793.           0 200 30   15 230 50   5 195 70   1  0  0
  794.  
  795.  
  796.  
  797.       Schachtelende
  798.  
  799.  
  800.  
  801.       Hintergrund
  802.       255 255 255
  803.  
  804.       /* That's all folks ... */
  805.       Ende
  806.  
  807.  
  808.  
  809.  
  810.  
  811.    9. BEDIENUNG DES PROGRAMMES
  812.  
  813.  
  814.       Nachdem Sie das Programm erfolgreich installiert haben, rufen Sie
  815.       "Thunder" durch Eingabe von "thunder" auf.
  816.       Sie werden nun aufgefordert den Namen des Eingabefiles anzugeben:
  817.  
  818.          Eingabefile: _
  819.  
  820.       Existiert z.B. ein File "szene.dat", das den oben angegebenen Regeln ent-
  821.       spricht, so können Sie dieses nun als Eingabefile benennen. Dieses wird
  822.       nun aus dem aktuellen Directory geladen. Sie können jedoch auch einen
  823.       vollständigen Pfad inklusive Dateinamen angeben, wie z.b:
  824.  
  825.          Eingabefile: c:\ray\bilder\szene.dat
  826.  
  827.       Daraufhin erscheint ein Auswahlmenü, das verschiedene Grafikkarten zur
  828.       Auswahl stellt:
  829.  
  830.          Bitte wählen Sie den Grafikmodus
  831.          ================================
  832.  
  833.  
  834.          (1) - Hercules  720x384     2 Farben
  835.          (2) - CGA       640x200     2 Farben
  836.          (3) - EGA       640x350    16 Farben
  837.          (4) - VGA       640x480    16 Farben
  838.          (5) - VGA       320x200   256 Farben
  839.  
  840.          (0) - Keine Grafikausgabe
  841.  
  842.          (jede andere Taste) - AUTODETECT
  843.  
  844.          Nr.: _
  845.  
  846.       Wählen Sie hieraus Ihre Grafikkarte aus, so wird das Bild während der
  847.       Berechnung angezeigt. Sollten Sie aber keine Grafikausgabe wünschen, so
  848.       wählen Sie den Punkt "Keine Grafikausgabe", indem Sie "0" eingeben. In
  849.       diesem Falle gibt das Programm während der nun folgenden Berechnung die
  850.       Nummer der gerade berechneten Zeile des Bildes aus.
  851.       Bei Eingabe einer im Menü nicht explizit erwähnten Taste ermittelt das
  852.       Programm selbständig die eingebaute Grafikkarte und wählt diese zur
  853.       graphischen Ausgabe.
  854.       Nach Auswahl der gewünschten Grafikkarte wird die Berechnung des Bildes
  855.       gestartet und entsprechend der Menüauswahl auf dem Bildschirm angezeigt.
  856.       Da nach jeder berechneten Zeile die zugehörige Information auf der Dis-
  857.       kette/Festplatte gespeichert wird, sollten Sie die Berechnung des Bildes
  858.       nicht vor deren Beendigung unterbrechen (wer nicht hören will, muß wühlen
  859.        ... und zwar mit "chkdsk"!).
  860.       Sobald die Berechnung des Bildes beendet ist, kehrt das Programm selb-
  861.       ständig nach DOS zurück.
  862.  
  863.       Bemerkung: Da für eine qualitativ hochwertige Darstellung der Bilder auf
  864.                  EGA/VGA-Karten die gesamte Bildinformation zur Verfügung steh-
  865.                  en muß, können die Bilder während der Berechnung auf diesen
  866.                  Grafikkarten nur angenähert dargestellt werden. Bei Benutzung
  867.                  des mitgelieferten Programmes "ZEIGERGB.EXE" steht Ihnen dann
  868.                  die gesamte Farbenpracht zur Verfügung (siehe unten).
  869.                 
  870.  
  871.  
  872.    10. ANSEHEN GESPEICHERTER BILDER
  873.  
  874.  
  875.  
  876.       Die mit "Thunder" erstellten Bilder können Sie mit Hilfe des Programmes
  877.       "ZEIGERGB" betrachten. Haben Sie das Programm gestartet, so werden Sie
  878.       aufgefordert, den Namen des Bildes einzugeben:
  879.  
  880.          Name des RGB-Files : _
  881.  
  882.       Geben Sie nun den Namen des Bildes an, das Sie sich ansehen möchten
  883.       (evtl. mit Pfadangabe). Es erscheint folgendes Auswahlmenü:
  884.  
  885.          Bitte wählen Sie den Grafikmodus
  886.          =================================
  887.  
  888.  
  889.  
  890.          (1) - Hercules  720x348     2 Farben
  891.          (2) - CGA       640x200     2 Farben
  892.          (3) - EGA       640x350    16 Farben  #1
  893.          (4) - EGA       640x350    16 Farben  #2
  894.          (5) - VGA       640x480    16 Farben  #1
  895.          (6) - VGA       640x480    16 Farben  #2
  896.          (7) - VGA       320x200   256 Farben
  897.  
  898.          (jede andere Taste) - AUTODETECT
  899.  
  900.          Nr.: _
  901.  
  902.       Geben Sie nun die Nummer der Grafikkarte an, die Sie besitzen, oder
  903.       drücken Sie eine beliebige andere Taste, um den Computer die Auswahl
  904.       treffen zu lassen. Bei Wahl der EGA-Karte oder der VGA-Karte im Modus 
  905.       640x480 Punkte in 16 Farben stehen Ihnen zwei unterschiedliche Verfahren 
  906.       zur Verfügung. Es empfiehlt sich, beide Verfahren auszuprobieren, um zu 
  907.       entscheiden, welches ein subjektiv besseres Ergebnis in der Darstellung 
  908.       liefert.
  909.       Haben Sie Ihre Auswahl getroffen, so wird das Bild (soweit vorhanden) zur
  910.       Anzeige gebracht und solange angezeigt, bis Sie die RETURN-Taste drücken.
  911.  
  912.       Bemerkung: In der Vollversion haben Sie bei der Berechnung, sowie beim
  913.                  Betrachten des Bildes die Option, erweiterte Super-VGA-Modi zu
  914.                  verwenden.
  915.                  
  916.  
  917.  
  918. TIPS
  919.  
  920. - Raytracing ist zwar einerseits das Verfahren, das von allen bekannten
  921.   Verfahren die besten Ergebnisse liefert, aber es ist leider auch ein
  922.   relativ rechen- und damit zeitintensives Verfahren. Wir haben uns be-
  923.   müht, "Thunder" so schnell wie möglich zu machen, und es ist sicherlich
  924.   auch eines der schnellsten Programme auf diesem Gebiet, dennoch empfiehlt
  925.   es sich, in der Anfangsphase zum Ausprobieren die Bilder bei kleinen 
  926.   Auflösungen (z.B. 50x50 oder 100x100 Punkte) berechnen zu lassen. Wenn
  927.   Sie dabei feststellen, daß das erstellte Motiv Ihnen gefällt, können Sie
  928.   es danach immer noch bei hoher Auflösung berechnen lassen.
  929. - Dreieck- und Viereckflächen sind interessanter, als sie vielleicht anfangs
  930.   erscheinen. So ist es beispielsweise möglich, aus Dreiecken oder Vierecken
  931.   beliebige (z.B. gekrümmte) (Freiform-)Flächen zusammenzusetzen. Es lassen
  932.   sich aus ihnen auch nahezu beliebige Körper formen.
  933. - Die Rotationskörper sind die mächtigsten der von "Thunder" angebotenen
  934.   Objekte. Aus ihnen lassen sich beispielsweise Gläser, Tassen, Kannen,
  935.   Vasen, Schüsseln, Kegel, schiefe Säulen, Rohre und Rohrsysteme und viele
  936.   andere Objekte formen.
  937. - Machen Sie ausgiebigen und vernünftigen Gebrauch von den Schachteln, in
  938.   der Fachliteratur auch "bounding boxes" genannt. Die Berechnung von Bildern
  939.   wird dadurch in den meisten Fällen ganz extrem beschleunigt. Denken Sie
  940.   daran, daß Schachteln, um ein einziges Objekt gelegt, keine Beschleunigung
  941.   bewirken. Ebenso wenig sinnvoll ist es, eine Schachtel in die Szene zu legen,
  942.   die sich über den ganzen Bildschirm erstreckt, denn eine solche Schachtel
  943.   wird in jedem Fall von jedem der ausgesannten Strahlen geschnitten und 
  944.   verlangsamt so eher die Berechnung. Legen Sie Schachteln um Objektansamm-
  945.   lungen, oftmals lohnt es sich schon, um nur drei oder vier einzelne Objekte
  946.   eine Schachtel zu legen. Lesen gegebenenfalls noch einmal im Kapitel über
  947.   Schachteln den Gebrauch und die Anwendung nach.
  948.  
  949.  
  950.