Rotations: Difference between revisions
Line 7: | Line 7: | ||
===Angle Axis=== | ===Angle Axis=== | ||
Also known as axis-angle | |||
===Rotation Vector=== | ===Rotation Vector=== | ||
===Euler Angles=== | ===Euler Angles=== | ||
===Quaternion=== | ===Quaternion=== | ||
See [[Quaternion]]. | |||
===Matrix=== | ===Matrix=== | ||
A \(3\times 3\) matrix is the most convenient form of a rotation since applying the rotation to a vector is simply a matrix multiplication. | A \(3\times 3\) matrix is the most convenient form of a rotation since applying the rotation to a vector is simply a matrix multiplication. |
Revision as of 14:58, 15 October 2020
This article is about rotations in 3D space.
Representations
The most natural representation of rotations are Quaternions. However rotations can also be represented in various other forms.
Angle Axis
Also known as axis-angle
Rotation Vector
Euler Angles
Quaternion
See Quaternion.
Matrix
A \(3\times 3\) matrix is the most convenient form of a rotation since applying the rotation to a vector is simply a matrix multiplication.
Construction
This section is on converting between different forms of rotations.
How to construct a rotation.
See http://www.euclideanspace.com/maths/geometry/rotations/conversions/index.htm for a list of conversions.
Angle Axis to Matrix
Apply Wikipedia: Rodrigues' rotation formula
Suppose \(\mathbf{k}=(k_x, k_y, k_z)\) is the vector around which you want to rotate.
Let
\[
\mathbf{K} = [\mathbf{k}]_\times =
\begin{pmatrix}
0 & -k_z & k_y\\
k_z & 0 & -k_x\\
-k_y & k_x & 0
\end{pmatrix}
\]
Then our rotation matrix is:
\[
\begin{equation}
\mathbf{R} = \mathbf{I} + (\sin\theta)\mathbf{K} + (1-\cos\theta)\mathbf{K}^2
\end{equation}
\]
Angle Axis to Quaternion
Based on http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToQuaternion/index.htm
\[ \begin{align} q_x &= k_x * \sin(\theta/2)\\ q_y &= k_y * \sin(\theta/2)\\ q_z &= k_z * \sin(\theta/2)\\ q_w &= \cos(\theta/2) \end{align} \]