Also erstmal nehmen wir an du hast ein Quaternion
§\mathbf{q}=\begin{bmatrix}a&b&c&d\end{bmatrix}^T§ mit
§\vert\mathbf{q}\vert^2=a^2+b^2+c^2+d^2=1§.
Damit ergibt sich einfach
§\theta = \text{atan2}\left(2ca-2bd , 1 - 2c^2 - 2d^2\right)§,
§\phi=\sin^{-1}\left(2bc+2da\right)§ und
§\psi=\text{atan2}\left(2ba-2cd,1-2b^2-2d^2\right)§.
Wenn allerdings
§bc+ad=\frac{1}{2}§ gilt
§\theta=2 \cdot \text{atan2}\left(b, a\right)§,
§\phi=\frac{\pi}{2}§ und
§\psi=0§. Sollte es dann auch noch mal sein, dass
§bc+ad=-\frac{1}{2}§ gilt
§\theta=-2 \cdot \text{atan2}\left(b, a\right)§,
§\phi=-\frac{\pi}{2}§ und
§\psi=0§. Man könnte allerdings auch den Quaternion in eine Matrix überführen und von der aus das ganze dann machen, das wird aber abartig und ich müsste mehr getippt haben müssen.
![^^](wcf/images/smilies/squint.png.pagespeed.ce.vVqemmKAwr.png)
Wenn ich das alles richtig verstanden habe, (wurde auf Richtigkeit nie kontrolliert, alles autodidaktisch) musst du nur dann um die entsprechende Achse, wie es da steht, also
§1\leftrightarrow X, 2\leftrightarrow Y \text{ und } 3\leftrightarrow Z§, nacheinander je um
§\theta§, dann
§phi§ und schließlich
§\psi§ rotieren.
- ohne Gewähr, ist auch auf die Schnelle geschrieben, weil meine Mate im Gefrierfach schon recht viel Zeit verbringt.
MfG
Check