{{backlinks>.}} ==== Aufgaben für die Lektionen vom 28. April 2017 ==== === Aufgabe 1 === Laden Sie folgenden Code herunter (kopieren kann u.U. zu Fehlern führen) und speichern Sie den Code auf Ihrem USB-Stick. Öffnen Sie den Code in POV-Ray und erzeugen Sie das Bild. // Das ist ein Kommentar und bewirkt nichts. // Kamera camera { sky <0,0,1> // Vektor, der festlegt, wo oben ist. right <-4/3,0,0> // Bildverhältnis 4:3, plus Spiegelung für rechtsdrehendes System location <10,2,5> // Position der Kamera look_at <0, 0, 0> // Blickrichtung (erscheint im Bildmittelpunkt) angle 30 // Öffnungswinkel der Kamera } // Lichtquellen light_source { <6,-2,8> // Position des Lichts color rgb <1,1,1> // Farbe des Lichts, als rot-grün-blau Vektor (Komponenten 0 bis 1) } light_source { <3,10,3> // Position des Lichts color rgb <1,1,1> // Farbe des Lichts, als rot-grün-blau Vektor (Komponenten 0 bis 1) } // Boden plane { z,0 // Ebene, senkrecht zu z=<0,0,1>, mit Abstand 0 zum Ursprung pigment { // Schachbrett, durchsichtig (t steht für transmit, hier 80% lichtdurchlässig checker color rgbt <1,1,1,0.8>, color rgbt <0.2,0.2,0.2,0.8> } } // Objekte sphere { <0,0,1>, 1 // Kugel mit Mittelpunkt und Radius pigment { color rgb x } // Farbe rot x=<1,0,0> } cylinder { 0, 2*x, 0.1 // Zylinder vom Ursprung 0=<0,0,0> zum Punkt 2*<1,0,0>=<2,0,0>, Radius 0.1 pigment { color rgb z } // Farbe blau z=<0,0,1> } cone { 2*x, 0.2, 2.4*x, 0 // Kegel von <2,0,0> zu <2.4,0,0>, Startradius 0.2, Endradius 0 pigment { color rgb z } // Farbe blau z=<0,0,1> } === Aufgabe 2 === In obigem Code entfernen Sie die rote Kugel und vervollständigen Sie den Code so, dass das Koordinatensystem durch 3 Achsen dargestellt wird, mit den Achsen von jeweils -1 bis +4. Die Farben der Achsen sollen rot ($x$), grün ($y$) und blau ($z$) sein. Fügen Sie ebenfalls die beiden anderen Koordinatenebenen ein. Passen Sie die Position (location) und Blickrichtung (look_at) so an, dass das ganze Koordinatensystem sichtbar ist. === Aufgabe 3 === Speichern Sie Ihre Datei als "koordinatensystem.inc". Löschen Sie die Definition von Kamera und Licht und speichern Sie die Datei. Die Datei kann so nicht mehr gerendert werden. Aber Sie kann in andere Dateien eingebunden werden. === Aufgabe 4 === Laden Sie nochmals die Datei "vorlage.pov" und speichern Sie die Datei unter "includetest.pov". Entfernen Sie alle Objekt-Definitionen und ersetzen Sie diese durch die Zeile: #include "koordinatensystem.inc" In Zukunft kann damit ein Koordinatensystem eingebunden werden (und auch einfach wieder entfernt oder auskommentiert werden). === Aufgabe 5 === Stellen Sie den Punkt $A=(2,4,1)$ dar. Zeichnen Sie dazu auch "Stützlinien" und markieren Sie den Punkt. Kopieren Sie Ihre POV-Ray-Datei (nicht das Bild) ins Klassenlaufwerk mit dem Dateinamen **A5Hansli.pov**, wobei natürlich Hansli durch Ihren Namen zu ersetzen ist. ==== Box (achsenparallele Quader) ==== Es können achsenparallele Quader definiert werden, indem man gegenüberliegende Punkte angibt. Folgender Code erzeugt in etwa die Form eines Dominosteins: box { <0,-1,0>, <1,-1.2,2> pigment { color rgbt <0,1,0,0.4> } // 40% durchscheinend } === Aufgabe 6 === Bauen Sie obigen code in eine Szene ein und markieren Sie die beiden Eckpunkte. ==== Wiederholungen ==== Mit folgendem Code kann etwas wiederholt werden und aus der Variablen $i$, die sich bei jedem Durchgang ändert, Dinge berechnet und damit definiert werden: #declare i=0; #while (i<10) sphere {<0,i,0>,0.1 pigment { color rgb x } } #declare i=i+1; #end //while Beachten Sie, wie die Code-Zeilen eingerückt sind. Alle Zeilen zwischen #while und #end sind eingrückt. Wird eine geschweifte Klammer geöffnet, werden folgende Zeilen eine Stufe mehr eingerückt. Die entsprechende schliessende geschweifte Klammer steht senkrecht unter dem Anfang der Zeile der öffnenden Klammer. === Aufgabe 7 === Bauen Sie obigen Code in eine Szene ein und studieren Sie den Code, bis Sie jede Zeile davon verstehen. Ändern Sie den Code so ab, dass eine Domino-Reihe entsteht.