lehrkraefte:snr:mathematik:klasse-2:2022-23:povray:trafos

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:snr:mathematik:klasse-2:2022-23:povray:trafos [2023/06/28 07:06] – [Aufgabe 1] Olaf Schnürerlehrkraefte:snr:mathematik:klasse-2:2022-23:povray:trafos [2023/06/28 07:07] (current) – [Aufgabe 1: Translationen, Rotationen und Streckungen (am Beispiel eines Torus)] Olaf Schnürer
Line 1: Line 1:
 +~~NOTOC~~
 +====== Transformationen ======
  
 +===== Aufgabe 1: Translationen, Rotationen und Streckungen (am Beispiel eines Torus) ====
 +
 +Ein **Torus** ist eine Art
 +  * Veloschlauch (genau dessen äussere Oberfläche). 
 +Alternativ ist ein Torus die Oberfläche eines Rettungsrings oder eines Donuts. 
 +
 +<WRAP center round todo>
 +Öffne die folgende Datei im POV-Ray-Editor.
 +
 +{{ :lehrkraefte:snr:mathematik:klasse-2:2022-23:povray:torus-fuer-trafos.pov |}}
 +
 +  * Verstehe, wie das Objekt ''torus'' definiert ist.
 +  * Translation = Verschiebung: Mit dem Befehl ''translate'' können Objekte verschoben werden. Teste dies, indem du direkt hinter der Zeile mit den vielen Sternen die folgende Zeile ergänzt:
 +<code povray>
 +  translate <0, -2, 3>   
 +</code>
 +  * Teste auch Verschiebungen um andere Vektoren, um den Befehl ''translate'' besser zu verstehen. 
 +  * Rotation = Drehung: Mit dem Befehl ''rotate'' können Objekte gedreht werden. Teste dies, indem du direkt hinter die Zeile mit den vielen Sternen die folgende Zeile ergänzt (lösche zuvor alle ''translate''-Befehle):
 +<code povray>
 +  rotate <30, 0, 0>    // Drehung um die x-Achse um 30 Grad und um 0 Grad um die anderen beiden Achsen.
 +</code>
 +  * Teste auch Drehungen um andere Winkel und um andere Koordinatenachsen, um den Befehl ''rotate'' besser zu verstehen. 
 +  * Erklärung: 
 +    * Der Befehl ''rotate <alpha, beta, gamma>'' dreht zuerst um ''alpha'' Grad um die x-Achse, dann um ''beta'' Grad um die y-Achse und am Ende um ''gamma'' Grad um die z-Achse.
 +    * Alle Drehungen sind **rechtsdrehend**; dies bedeutet: Wenn der Daumen der **rechten** Hand in Richtung der Drehachse zeigt, wird das Objekt in Richtung der Finger um die Achse gedreht.
 +  * Empfehlung: Jeweils nur um eine Koordinatenachse drehen
 +  * Skalierung = Streckung: Mit dem Befehl ''scale'' können Objekte gestreckt werden. **Streckzentrum ist der Ursprung des Koordinatensystems.** Teste dies, indem du direkt hinter der Zeile mit den vielen Sternen die folgende Zeile ergänzt (lösche zuvor alle ''rotate''-Befehle):
 +<code povray>
 +  scale 0.5 
 +</code>
 +  * Teste auch andere Streckfaktoren. 
 +</WRAP>
 +
 +
 +==== Aufgabe 1 ====
 +
 +<WRAP center round todo>
 +(Ausgehend von der in der vorigen Aufgabe verwendeten Datei:)
 +
 +Verwende die gerade erlernten Transformationsbefehle ''translate'', ''rotate'' und ''scale'', um eine Szene mit den folgenden Objekten zu erstellen. Sie enthält:
 +
 +  * einen ersten Torus (mit Schachbrettmuster wie in der vorigen Aufgabe), der **auf** der $x$-$y$-Ebene liegt (d.h. diese berührt);
 +  * einen zweiten, genauso grossen Torus, der aus dem ersten durch Verschiebung in $y$-Richtung hervorgeht und diesen von aussen berührt.
 +  * einen dritten Torus (ebenfalls auf der $x$-$y$-Ebene), der beide Tori von aussen berührt. Dieser Torus soll per scale erzeugt werden, so dass er genauso viele Schachbrettfelder hat wie die anderen beiden Tori.
 +
 +**Bonus**
 +  - Erstelle eine neue Szene aus zwei ineinander verschlungenen Tori: Der erste Torus liegt in beliebiger Lage, der zweite "umschlingt" diesen. Zusatz: Wähle die Radien so, dass der zweite Torus das "Loch" des ersten Torus ganz ausfüllt.
 +  - Erstelle eine neue Szene aus mehrenen aufeinanderliegenden Tori, so dass der nächsthöhere Torus jeweils aus dem darunterliegenden durch Streckung um einen fixen Faktor (etwa 0.8) hervorgeht. Hinweis: Du wirst Pythagoras verwenden müssen.
 +</WRAP>
 +<!-- VON IVO KOPIERT:
 +==== Aufgabe 2 ====
 +Programmieren Sie drei Tori, die ineinander hängen und sich exakt von innen her berühren. Der mittlere Torus ist natürlich um 90 Grad gedreht.
 +
 +
 +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 ====
 +Objekte können zu einem Objekt zusammengefasst werden und dann als Ganzes manipuliert werden. Das ist vor allem dann nützlich, wenn man Objekt verschieben, drehen und/oder kopieren möchte:
 +
 +<code povray>
 +// Speichern in die Variable schneemann (wird noch nichts angezeigt)
 +#declare schneemann = union {
 +  sphere { <0,0,0.5>, 0.5 }
 +  sphere { <0,0,1.5>, 0.5}
 +}
 +
 +// Objekt gebrauchen:
 +object { schneemann
 +  pigment { color rgb 1 } // Weiss
 +}
 +object { schneemann
 +  pigment { color rgb x } // Rot
 +  translate <0,2,0>   // Verschieben 
 +}
 +</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|}}
 +-->