Die heutige Lektion steht und dem Thema Galaxien, oder etwas mathematischer die archimedische Spirale und selbstähnliche Figuren.
Spielen Sie mit den Farben und den Formen.
Rendern Sie folgenden Code und studieren Sie diesen. Stellen Sie danach Fragen, wenn Sie etwas nicht verstehen.
// Kamera camera { sky <0,0,1> right <-4/3,0,0> location <40,65,15> look_at <0, 0, 0> angle 70 } // Lichtquellen light_source { <30,6,5> // Position des Lichts color rgb <1,1,1> // Farbe des Lichts, als rot-grün-blau Vektor (Komponenten 0 bis 1) } light_source { <40,50,5> // Position des Lichts color rgb <1,1,1> // Farbe des Lichts, als rot-grün-blau Vektor (Komponenten 0 bis 1) } light_source { <0,0,5> // 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} } //#include "myObject.inc" // Hier lade ich mein eigenes Grundobjekt fuer eine Galaxie //Hier entsteht eine Galaxie #declare Galaxie = union { #declare da=0.2; #declare alfa = da; #while (alfa<20) sphere { <0,0,0>,1 // Einfaches Grundobjekt, Kugel //object { myObject // mein Grundobjekt translate <0,alfa,0> rotate alfa*180/pi*z pigment { color rgb y } // gruen scale 0.01*alfa*<1,1,1> // } #declare alfa=alfa+da; #end } // Hier entsteht das Universum #declare dphi=0.4; #declare phi=dphi; #while (phi<20) object { Galaxie translate <0,phi,0> rotate phi*180/pi*z scale 0.1*phi*<1,1,1> } #declare phi=phi+dphi; #end
Ändern Sie den obigen Code so ab, dass entweder
Vergleichen Sie dazu diese Aufgabe
Ändern Sie das Basisobjekt in abwechslungsweise Kugel, Würfel und Kegel. Einmal in
Erstelle ein eigenes Basisobjekt und speichere dies unter
myObject.inc
Wenn Ihnen nichts einfällt, dann schreiben Sie ihren Namen mit Basiselementen und fassen ihn mit
#declare myObject = union { // M als Grossbuchstabe box { <0,0,0>, <1,0.2,2> } box { <0,0,0>, <1,0.2,2> translate <0,1,0> } box { <0,0,0>, <1,0.2,sqrt(1.25)> rotate atan(1/2)*180/pi*x translate <0,0.5,1> } box { <0,0,0>, <1,0.2,sqrt(1.25)> rotate -atan(1/2)*180/pi*x translate <0,0.5,1> } ... }
zusammen. Mit
#include "myObject.inc"
lade dein Objekt hinein.
Erstelle eine Animation, indem mit der Kamera über die Galaxien hinweg geflogen wird.