NMSIS-DSP  Version 1.2.0
NMSIS DSP Software Library

Conversions from quaternion to rotation. More...

Functions

void riscv_quaternion2rotation_f32 (const float32_t *pInputQuaternions, float32_t *pOutputRotations, uint32_t nbQuaternions)
 Conversion of quaternion to equivalent rotation matrix. More...
 

Detailed Description

Conversions from quaternion to rotation.

Function Documentation

◆ riscv_quaternion2rotation_f32()

void riscv_quaternion2rotation_f32 ( const float32_t *  pInputQuaternions,
float32_t *  pOutputRotations,
uint32_t  nbQuaternions 
)

Conversion of quaternion to equivalent rotation matrix.

Parameters
[in]pInputQuaternionspoints to an array of normalized quaternions
[out]pOutputRotationspoints to an array of 3x3 rotations (in row order)
[in]nbQuaternionsnumber of quaternions in the array
Returns
none.
Format of rotation matrix

The quaternion a + ib + jc + kd is converted into rotation matrix:

  a^2 + b^2 - c^2 - d^2                 2bc - 2ad                 2bd + 2ac
              2bc + 2ad     a^2 - b^2 + c^2 - d^2                 2cd - 2ab
              2bd - 2ac                 2cd + 2ab     a^2 - b^2 - c^2 + d^2

Rotation matrix is saved in row order : R00 R01 R02 R10 R11 R12 R20 R21 R22