lehrkraefte:blc:math:povray:lektion8og

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:blc:math:povray:lektion8og [2017/06/20 07:02] Marcel Metzlerlehrkraefte:blc:math:povray:lektion8og [2017/06/20 07:11] (current) Marcel Metzler
Line 1: Line 1:
 +==== 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.
 +<code povray Galaxie-gruen.pov>
 +// 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>,      // 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  
 +
 +</code>
 +==== 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.
 +<code povray Farbauswahl.pov>
 +// 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        
 +
 +</code>
 +==== 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//
 +<code povray myObject.pov>
 +   #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>
 +    }
 +    ...
 +   }
 +</code>
 +
 +Nun müssen Sie nur die Kugel durch ihr Basiselement ersetzen.
 +<code povray myObject_vs_sphere.pov>
 +#while (alfa<20)      
 +   //sphere { <0,0,0>,      // Einfaches Grundobjekt, Kugel
 +   object { myObject          // mein eigenes Grundobjekt
 +   ...
 +</code>
 +==== Aufgabe 5 ====
 +Erstelle eine Animation, indem mit der Kamera über die Galaxien hinweg geflogen wird.