lehrkraefte:blc:math:povray:lektion2

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:lektion2 [2017/05/04 15:44]
Ivo Blöchliger
lehrkraefte:blc:math:povray:lektion2 [2017/05/05 09:33] (current)
Ivo Blöchliger [torus]
Line 1: Line 1:
 ===== Lektion vom Freitag 5. Mai 2017 ===== ===== Lektion vom Freitag 5. Mai 2017 =====
 +===== Aufgabe 0 ====
 +Studieren Sie folgende Abschnitte und probieren Sie die Codeschnipsel aus, indem Sie diese in eine Szene mit Kamera und Licht kopieren (und evtl. ein Koordinatensystem).
  
 ==== translate ==== ==== translate ====
Line 28: Line 30:
 } }
 </code> </code>
 +**Achtung**: Es wird immer bezüglich dem Nullpunkt gestreckt. Man sollte die Objekte um den Nullpunkt zentrieren (falls nötig mit 'translate'), dann strecken und am Schluss noch an die richtige Position schieben.
 ==== torus ==== ==== torus ====
 Ein Torus ist eine Art Veloschlauch. Dieser kann durch die Angabe von 2 Radien spezifiziert werden: Distanz von der "Radachse" zur Schlauchmitte und Radius des Schlauchrohres. Siehe  http://www.povray.org/documentation/view/3.7.0/288/ Ein Torus ist eine Art Veloschlauch. Dieser kann durch die Angabe von 2 Radien spezifiziert werden: Distanz von der "Radachse" zur Schlauchmitte und Radius des Schlauchrohres. Siehe  http://www.povray.org/documentation/view/3.7.0/288/
Line 40: Line 42:
 </code> </code>
  
 +<hidden Code-Vorlage für Torus (komplette Szene mit Koordinatensystem)>
 +<code povray torus.pov>
 +// Das ist ein Kommentar und bewirkt nichts.
 + 
 +// 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 <15,5,8>    // Position der Kamera
 +      look_at <0, 0, 1>    // Blickrichtung (erscheint im Bildmittelpunkt)
 +      angle 35             // Ö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)
 +}
 + 
 + 
 +// Boden
 +plane { 
 +  z,0        // Ebene, senkrecht zu z=<0,0,1>, mit Abstand 0 zum Ursprung
 +  pigment {  // Schachbrett, durchsichtig (t steht für transmit, hier 80% lichtdurchlässig
 +    checker color rgbt <1,1,1,0.8>, color rgbt <0.2,0.2,0.2,0.8>
 +  }
 +}
 + 
 +
 +// x-Achse 
 +cylinder { <-1,0,0>, <4,0,0>, 0.1  // Zylinder vom Ursprung 0=<0,0,0> zum Punkt 2*<1,0,0>=<2,0,0>, Raddiu 0.1
 +  pigment { color rgb <1,0,0> }  // Farbe rot
 +}
 + 
 +cone { 4*x, 0.2, 4.4*x, 0  // Kegel von <2,0,0> zu <2.4,0,0>, Startradius 0.2, Endradius 0
 +  pigment { color rgb x }  // Farble blau z=<0,0,1>
 +}
 +
 +// y-Achse 
 +cylinder { -y, 4*y, 0.1  
 +  pigment { color rgb y } 
 +}
 + 
 +cone { 4*y, 0.2, 4.4*y, 0 
 +  pigment { color rgb y } 
 +}
 +
 +// z-Achse 
 +cylinder { -z, 4*z, 0.1  
 +  pigment { color rgb z } 
 +}
 + 
 +cone { 4*z, 0.2, 4.4*z, 0  // Kegel von <2,0,0> zu <2.4,0,0>, Startradius 0.2, Endradius 0
 +  pigment { color rgb z }  // Farble blau z=<0,0,1>
 +}
 +            
 +torus {1, 0.1
 +  pigment {color rgb x+y} // gelb
 +}
 +</code>
 +</hidden>
 ==== Aufgabe 1 ==== ==== Aufgabe 1 ====
 Verwenden Sie 'rotate' und 'translate', um die Tori an die gewünschte Position zu bringen. Verwenden Sie 'rotate' und 'translate', um die Tori an die gewünschte Position zu bringen.
Line 54: Line 121:
  
  
 +Tip: Mit folgender Anweisung, innerhalb eines Objekts, können Sie dieses spiegelnd machen:
 +<code povray>
 +  finish { phong 0.95 reflection {0.95} }
 +</code>
 +Spiegelnde Objekte leben von ihrer Umgebung. Fügen Sie z.B. einen Himmel hinzu.
  
 ==== union, declare, object ==== ==== union, declare, object ====
Line 74: Line 146:
 } }
 </code> </code>
 +
 +==== Aufgabe 3 ====
 +Folgender Code erzeugt einen halben Torus:
 +<code povray>
 +#declare rund = difference { // Halber torus (in x/z-Ebene, Teil mit positiver x-Koordinate
 +  torus {1, 0.2}
 +  plane {x, 0}
 +}  
 +object{rund
 +  pigment{color rgb x}
 +}
 +</code>
 +Bauen Sie daraus ein Kettenglied (mit zwei halben Tori und zwei Zylindern).
 +Definieren Sie dann eine neue Variable (z.B. kettenglied) und stellen Sie dann wieder eine Kette dar.
 +
 +Mit Hilfe von [[lehrkraefte:blc:math:povray:while|Wiederholungen]], stellen Sie folgendes dar:
 +  * eine Kette mit vielen Gliedern
 +  * eine Kette die im Kreis geschlossen ist
 +  * ein Kettenhemd, mit runden gliedern (bzw. zwei-dimensionale Kette)
 +  * Hängende Kette entlang einer Parabel
 +
 +{{:lehrkraefte:blc:math:povray:kette2.jpg?direct&400|}}
  • lehrkraefte/blc/math/povray/lektion2.1493905486.txt.gz
  • Last modified: 2017/05/04 15:44
  • by Ivo Blöchliger