Hallo Leute,
Ich habe einen 3D Vektor (x,y,z), welchen ich um einen anderen 3D Vektor (x,y,z) mit einem bestimmten Winkel drehen möchte. Wie ist das möglich?
Danke,
Nathan
Mittels Quaternionen. Einfach mal suchen. Z.B. bei
http://mathworld.wolfram.com (funktioniert wieder)
t=ix+jy+zk, i^2=j^2=k^2=ijk=-1, e in gleicher Weise die Drehachse, c und s der Cos und Sin vom halben Winkel, dann q:= c+se, q’=c-se das quat. konjugierte. Der gedrehte Punkt ist dann q’tq, kann alles in Skalar- und Kreuzprodukte umgeschrieben werden.
Ciao Lutz
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Ich habe einen 3D Vektor (x,y,z), welchen ich um einen anderen
3D Vektor (x,y,z) mit einem bestimmten Winkel drehen möchte.
Wie ist das möglich?
Man führt zunächst eine Transformation aus nach der die Drechachse mit einer der Koordinatenachsen zusammenfällt, dreht das ganze um diese Achse und führt anschließend die erste Transformatiopn rückwärts aus, um die Drehachse wieder in die ursprüngliche Lage zu bringen. Will man mehrere Vektoren um dieselbe Achse drehen, dann lohnt es sich die drei Transformationsmatritzen zu multiplizieren.
Hallo Nathan,
Drehmatrix um einen Punkt (fast das gleiche, wie ein Vektor) um einen anderen Vektor zu drehen:
1-(n<sub>2</sub><sup>2</sup>+n<sub>3</sub><sup>2</sup>)(1-cos(p)) n<sub>1</sub>n<sub>2</sub>(1-cos(p))+n<sub>3</sub>sin(p) n<sub>1</sub>n<sub>3</sub>(1-cos(p))-n<sub>2</sub>sin(p)
n<sub>1</sub>n<sub>2</sub>(1-cos(p))-n<sub>3</sub>sin(p) 1-(n<sub>1</sub><sup>2</sup>+n<sub>3</sub><sup>2</sup>)(1-cos(p)) n<sub>2</sub>n<sub>3</sub>(1-cos(p))+n<sub>1</sub>sin(p)
n<sub>1</sub>n<sub>3</sub>(1-cos(p))+n<sub>2</sub>sin(p) n<sub>2</sub>n<sub>3</sub>(1-cos(p))-n<sub>1</sub>sin(p) 1-(n<sub>1</sub><sup>2</sup>+n<sub>2</sub><sup>2</sup>)(1-cos(p))
n ist ist dabei der normierte Vektor, um den gedreht wird, p der Winkel. Drehmatrix ausrechnen, mit dem zu drehenden Vektor multiplizieren, fertig.
Das Zentrum.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Drehung Koordinatensystem
**r'** = **r** cos _p_ + (1 - cos _p_)( **nr** ) **n** + ( **n** x **r** )sin _p_
n = normierter Vektor (Drehachse)
p = Drehwinkel
r = Vektor, der gedreht werden soll
r’ = Bildvektor
Gruß.
meridium
Ist mit z.B. nr n*r, also das Mahlnehmen der einzelnden Komponenten der beiden Vectoren miteinander gameint?
Wenn ja, warum dann (nr)n???
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Ist mit z.B. nr n*r, also das Mahlnehmen der einzelnden
Komponenten der beiden Vectoren miteinander gameint?
Wenn ja, warum dann (nr)n???
Ja, und zweitens liegt das an der Projektion auf die Drehachse, die enthalten ist. Der andere Teil senkrecht zur Drehachse ist r-(nr)n.
Ciao Lutz