Rotation R³-Achse als elementare x,y,z-Achsendrehungen
Rotation ∢φ um beliebige Achse
App
Die Winkelauswahl der Achsrotationen (9),(15) muß ggf. für andere Rotations-Achsen angepasst werden, um die richtige Richtung zur zAchse zu treffen!
- (12) y-Koordinate = 0
- (18) x,y-Koordinaten = 0
Ich verwende homogene Koordinaten um die Translation in den Ursprung als Matrix schreiben zu können.
Voraussetzung:
Die Rotationsachse stimme nicht mit einer Koordinatenachse überein.
Idee:
Transformiere Rotationsachse und Objekt damit die Rotationsachse mit der z-Achse ̈uberein-
stimmt, rotiere um Rotations-Winkel φ, transformiere zurück.
1. Translation der Rotationsachse in den Ursprung.
2. Rotation der Rotationsachse um die x-Achse in die xz-Ebene.
3. Rotation der Rotationsachse um die y-Achse in die z-Achse.
4. Rotation des Objekts um die z-Achse mit Winkel φ.
5. Rucktransformation durch Anwendung der inversen Transformationen der Schritte 3,2 und 1.
Sei der normierte Richtungsvektor der Geraden g als Rotationsachse.
Schritt 1 Translation To Ortsvektor o=g(0) der Geraden in Ursprung verschieben.
Schritt 2
Rotationswinkels α berechnen
für Rotation um x-Achse,
α liegt zwischen der Projektion
ry von r auf der yz-Fläche
und der z-Achse .
Nach Schritt 2 befindet sich der
Drehachsen-Vektor r als r′
in der xz-Ebene:
Schritt 3 ------------------
Rotation um y-Achse
mit dem Rotationswinkel β.
Positive Winkel ergeben eine
Rotation gegen den Uhrzeigersinn,
wenn man aus Richtung der
Positiven y-Achse auf die
xz-Ebene schaut:
⇒ cos(β) = −cos(360°−β) = -√(r22+r32)
⇒ sin(β) = −sin(360°−β) = −r1
| |
Beispiel:
g(t):=(1,1,1) + t (1,1,1) | φ=120°
R_g: T(v) Dx⁻¹ Dy⁻¹ Dz(φ) Dy Dx T(-v)
,
http://www-lehre.inf.uos.de/~cg/2008/PDF/kap-13.pdf