{{: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.