Difference between revisions of "Realization of transformations"
(→Quaternion notation for general transformations) |
|||
Line 26: | Line 26: | ||
:<math> | :<math> | ||
p_t=0\oplus\left[\begin{array}{c}p_x\\p_y\\p_z\end{array}\right] = p_xi+p_yj+p_zk | p_t=0\oplus\left[\begin{array}{c}p_x\\p_y\\p_z\end{array}\right] = p_xi+p_yj+p_zk | ||
+ | </math> | ||
+ | So a pure translation by vector <math>[p_x\ p_y\ p_z]^T</math> is defined as: | ||
+ | :<math> | ||
+ | \left\{e_t,p_t\right\}=\left\{1,p_xi+p_yj+p_zk\right\} | ||
</math> | </math> | ||
A translation by <math>2</math> on the <math>y</math>-axis for example would be | A translation by <math>2</math> on the <math>y</math>-axis for example would be | ||
Line 34: | Line 38: | ||
---- | ---- | ||
− | For a pure rotation there is no translation. Thus the translation quaternion <math> | + | For a pure rotation there is no translation. Thus the translation quaternion <math>p_r</math> of a pure rotation is a zero quaternion: |
:<math> | :<math> | ||
p_r=0 \oplus \left[\begin{array}{c}0\\0\\0\end{array}\right] = 0 | p_r=0 \oplus \left[\begin{array}{c}0\\0\\0\end{array}\right] = 0 | ||
+ | </math> | ||
+ | The rotation quaternion <math>e_r</math> of a pure rotation around an axis defined by a unit vector <math>\vec{\mathbf{u}}</math> by the angle <math>\phi</math> is: | ||
+ | :<math> | ||
+ | e_r(\vec{\mathbf{u}},\phi)=\cos{\phi} + \sin{\phi}\vec{\mathbf{u}} | ||
</math> | </math> | ||
Revision as of 10:56, 16 October 2015
← Back: Composition of rotations | Overview: Quaternions | Next: ??? → |
Quaternion notation for general transformations
Up to now transformations have been defined by homogeneous matrices combining a rotation matrix and a translation vector . Now a new notation is introduced to represent a transformation using two quaternions and :
The quaternion is equivalent to and describes the rotation while is defined as and so equivalent to the translation.
Applying such a transformation to a quaternion is done by first rotating with corresponding to the rotation equation and then adding :
Assume a pure translation is to be described using the above notation. Thus the rotation quaternion of a pure translation describes a rotation with an angle which is actually no rotation at all. According to Rotations using quaternions is defined as:
The rotation axis can be any arbitrary unit vector as the sine of is zero. So of a pure translation is always just .
The translation quaternion of a pure translation has the scalar part and the translation vector as vector part:
So a pure translation by vector is defined as:
A translation by on the -axis for example would be
For a pure rotation there is no translation. Thus the translation quaternion of a pure rotation is a zero quaternion:
The rotation quaternion of a pure rotation around an axis defined by a unit vector by the angle is:
Combination of transformations
It is known that a combination of transformations is defined as:
But how can the two quaternions and of the quaternion notation be calculated based on the quaternions of individual transformations? The first transformation leads to
Now the second transformation is applied on . The resulting equation can be solved using the distributive law for quaternions to determine and :
Thus the combination of two transformations can be denoted in quaternion notation as
Using the knowledge about addition of quaternions and rotations and composition of rotations using quaternions this can directly be determined regarding the homogeneous transformation matrix and its rotational and translational components and .