CogniPilot

MODELICA LIBRARY · ENGINEERING REFERENCE

function

LieGroups.SO3.Quat.rotate

Rotate a 3-vector by a quaternion: v' = q @ v

Public declarations

Explicit source declarations; dimensions, modifications and defaults are shown as written, without evaluation.

RoleNameTypeDimensions / attributes / defaultDescription
inputqReal[4]Unit quaternion {w,x,y,z}
inputvReal[3]Input vector
outputv_outReal[3]Rotated vector

Modelica declarations and implementation

Show parameters, interfaces and source

Parameters, inputs, outputs, defaults and equations from the source file.

function rotate "Rotate a 3-vector by a quaternion: v' = q @ v"
  input Real q[4] "Unit quaternion {w,x,y,z}";
  input Real v[3] "Input vector";
  output Real v_out[3] "Rotated vector";
protected
  Real R[3,3];
algorithm
  R := LieGroups.SO3.Quat.to_DCM(q);
  v_out := R * v;
end rotate;