==== Aufgabe 0 ==== Die heutige Lektion steht und dem Thema Galaxien, oder etwas mathematischer die archimedische Spirale und selbstähnliche Figuren. {{:lehrkraefte:blc:math:povray:galaxie.jpg?400|}} Spielen Sie mit den Farben und den Formen. ==== Aufgabe 1 ==== 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} } //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 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 ==== Aufgabe 2 ==== Ändern Sie den obigen Code so ab, dass entweder - die Galaxien abwechslungsweise rot, grün und blau sind oder - die Objekte in einer Galaxie rot, grün und blau sind. z.B. so {{:lehrkraefte:blc:math:povray:juni16_galaxy_-_rgb_-_1.png?400|}} oder so {{:lehrkraefte:blc:math:povray:juni16_galaxy_-_rgb_-_2.png?400|}} Dazu können Sie folgenden Code an den richtigen Stellen einfügen. // 1. Teil: Deklarationsteil, hier werden die noetingen // Variablen definiert und initialisiert #declare Farben = array[3]; // Erstelle ein Feld mit drei Eintraegen fuer Farben #declare Farben[0] = <1,0,0>; // Erster Eintag ist rot #declare Farben[1] = <0,1,0>; // Zeiter Eintrag ist gruen #declare Farben[2] = <0,0,1>; // Dreiter Eintrag ist blau #declare i=0; // Laufvariable definieren und mit Null initialisieren // 2. Teil: Farbauswahl pigment { color rgb Farben[i] } // mit dem Array Eintrag Farben[i] wird die entsprechende // Farbe zugewiesen. i hat die Werte 0, 1 oder 2 // 3. Teil: Laufvariable i #declare i=i+1; // Laufvariable um eins erhoehen #if (i>2) // nach dem dritten Durchlauf #declare i=0; // auf Null setzen #end ==== Aufgabe 3 ==== Ändern Sie das Basisobjekt in abwechslungsweise Kugel, Würfel und Kegel. Einmal in - Galaxie für Galaxie - Objekt für Objekt in einer Galaxie. ==== Aufgabe 4 ==== Erstelle ein eigenes Basisobjekt. Wenn Ihnen nichts einfällt, dann schreiben Sie ihren Namen mit Basiselementen und erstelle eine //union// mit dem Namen //myObject//. #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> } ... } Nun müssen Sie nur die Kugel durch ihr Basiselement ersetzen. #while (alfa<20) //sphere { <0,0,0>,1 // Einfaches Grundobjekt, Kugel object { myObject // mein eigenes Grundobjekt ... ==== Aufgabe 5 ==== Erstelle eine Animation, indem mit der Kamera über die Galaxien hinweg geflogen wird.