~~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. Ö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: translate <0, -2, 3> * 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): rotate <30, 0, 0> // Drehung um die x-Achse um 30 Grad und um 0 Grad um die anderen beiden Achsen. * Teste auch Drehungen um andere Winkel und um andere Koordinatenachsen, um den Befehl ''rotate'' besser zu verstehen. * Erklärung: * Der Befehl ''rotate '' 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): scale 0.5 * Teste auch andere Streckfaktoren. ==== Aufgabe 1 ==== (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.