quat2rotation
Calculate rotation matrix based on quaternions.
If B is a FoR obtained rotating a FoR A by an angle \(\phi\) about an axis \(\mathbf{n}\) (recall \(\mathbf{n}\) will be invariant during the rotation), and \(\mathbf{q}\) is the related quaternion, \(\mathbf{q}(\phi,\mathbf{n})\), the function will return the matrix \(C^{AB}\) such that:
\(C^{AB}\) rotates FoR A onto FoR B.
\(C^{AB}\) transforms the coordinates of a vector defined in B component to A components i.e. \(\mathbf{v}^A = C^{AB}(\mathbf{q})\mathbf{v}^B\).
Notes
The inverse rotation is defined as the transpose of the matrix \(C^{BA} = C^{{AB}^T}\).
In typical SHARPy applications, the quaternion relation between the A and G frames is expressed as \(C^{GA}(\mathbf{q})\), and in the context of this function it corresponds to:
>>> C_ga = quat2rotation(q1)
>>> C_ag = quat2rotation.T(q1)
- param q:
Quaternion \(\mathbf{q}(\phi, \mathbf{n})\).
- type q:
np.ndarray
- returns:
\(C^{AB}\) rotation matrix from FoR B to FoR A.
- rtype:
np.ndarray
References
Stevens, L. Aircraft Control and Simulation. 1985. pg 41