{{:lehrkraefte:blc:math:povray:vermessen.jpg?direct|}} {{:lehrkraefte:blc:math:povray:vermessung.ods|}} ===== Aufgabe 0 ===== Speichern / Kopieren Sie folgenden Code und fügen den fehlenden Code unten ein (im Moment Kommentare). // 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) } plane {z,0 pigment {granite scale 10} normal { bozo } finish { reflection 0.9} } #declare umdrehung=-4; // Start der Umdrehungen #declare ende=2; // Ende der Umdrehungen #declare sf=1.6; // Streckfaktor pro Umdrehung #declare schritte=50; // 50 Schritte pro Umdrehung #while (umdrehung mit kleinem Radius platzieren // und danach um umdrehung*360 um die z-Achse drehen // // HIER FEHLT IHR CODE #declare umdrehung = umdrehung + 1/schritte; #end //while Das Bild sollte etwa wie folgt aussehen: {{:lehrkraefte:blc:math:povray:l4-a0-schnecke.png?direct|}} ===== Aufgabe 1 ===== Variieren Sie jetzt den Radius der Kugeln so, dass der Kugelradius proportional zu $r$ ist. Passen Sie eventuell die Kameraeinstellungen an. Mögliches Resultat: {{:lehrkraefte:blc:math:povray:l4-a1-schnecke.png?direct|}} ===== Aufgabe 2 ===== Die $z$-Koordinate der Kugeln soll nun ebenfalls linear mit dem Radius variieren. Die $z$-Koordinate soll grösser (höher) für kleine Werte von $r$ sein und für grössere $r$ dann kleiner werden. Mögliches Resultat:{{:lehrkraefte:blc:math:povray:l4-a2-schnecke.png?direct|}} ===== Aufgabe 3 ===== Die **Modulo**-Operation 'mod(a,b)' berechnet den Rest der ganzzahligen Division a/b. Z.B. ist mod(128,10) = 8, MOD(128,5) = 3, mod(128,16) = 0, etc. - Vor der while-Schleife, definieren Sie eine weitere Variable 'num' und initialisieren Sie diese auf 0. - Vor dem Ende der while-Schleife, zählen Sie die Variable 'num' um 1 hoch (inkremieren). - Mittels **if/else/end** können Dinge nur unter bestimmten Bedingung ausgeführt werden. Ersetzen Sie die "pigment-Zeile" der Kugel durch folgende fünf Zeilen, die je nachdem, die eine oder andere pigment-Zeile einfügen: #if (mod(num,2) = 0) pigment {color rgb x} #else pigment {color rgb z} #end Variieren Sie nun die Farbe der Kugeln (gibt wohl noch schönere Fabrkombinationen als rot/blau)... Mögliches Resultat: {{:lehrkraefte:blc:math:povray:l4-a3-schnecke.png?direct|}} Es ist auch möglich ohne if/else/end auszukommen, indem man die Farbe wie folgt definiert: pigment { color rgb } ===== Aufgabe 4 ===== Ersetzen Sie die Kugeln durch dünne Tori, so dass man ins Schneckenhaus hinein sieht. Z.B. so: {{:lehrkraefte:blc:math:povray:l4-a4-schnecke.png?direct|}} ===== Aufgabe 5 ===== Platzieren Sie auf jedem 7. Torus einen Stachel. Z.B. so: {{:lehrkraefte:blc:math:povray:l4-a5-schnecke.png?direct|}} ===== Aufgabe 6 ===== Der Code von Aufgabe 5 enthält wohl einige Wiederholungen, was die Transformationen angeht. Vor der while-Schleife, definieren Sie ein Objekt 'teil', das in der $y/z$ Ebene um den Ursprung zentriert ist. #declare teil = union { // lauter tolle Dinge hier (Kugel, Tori, Tori mit Stacheln etc... } Das 'teil' wird jetzt in der while-Schleife verwendet und entsprechend transformiert und in der Grösse angepasst (scale): object { teil scale 0.5*r // oder was auch immer passt. // veschieben und Drehen... } Das 'teil' kann nun selbst wieder mit einer while-Schleife definiert werden (innerhalb von union) um z.B. so etwas so erzeugen: {{:lehrkraefte:blc:math:povray:l4-a6-schnecke.png?direct&400|}} Ein einzelnes 'teil' ist in blau abgebildet. Das 'teil' besteht aus Kugeln, die in zwei Achsenrichtungen mit 0.2 gestreckt wurden. ===== Weitere Anregungen ===== * Platzieren Sie Lichtquellen im Schneckenhaus drin * Variieren Sie die Farbe kontinuierlich (Farbverlauf, wie z.B. ein Regenbogen) * Drehen Sie das 'teil' zusätzlich um die Gangachse.