| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #pragma once
- #include "matrix.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- void Quaternion(float q[4]);
- void Quaternion_Normalize(float Q[4]);
- void Quaternion_Canonicalize(float Q[4]);
- void Quaternion_ByDcm(const float dcm[3][3], float Q[4]);
- void Quaternion_Enu_ByEuler(float yaw, float pitch, float roll, float Q[4]);
- void Quaternion_Ned_ByEuler(float yaw, float pitch, float roll, float Q[4]);
- void Quaternion_ByAxisAngle(const float anxisAngle[3], float Q[4]);
- void Quaternion_ByTwoVectors(const float Vsrc[3], const float Vdst[3],
- float Q[4]);
- void Quaternion_Multiplication(const float Q1[4], const float Q2[4],
- float Q[4]);
- void Quaternion_Inversed(const float Q[4], float Q_inv[4]);
- void Quaternion_Invert(float Q[4]);
- void Quaternion_Derivative1(const float q21[4], const float angle_rate1[3],
- float q21_deriv[4]);
- void Quaternion_Derivative2(const float q21[4], const float angle_rate2[3],
- float q21_deriv[4]);
- void Quaternion_RotateByAxisAngle(const float axisAngle[3], float Q[4]);
- void Quaternion_Conj(const float Q[4], const float V1[3], float V2[3]);
- void Quaternion_ConjInv(const float Q[4], const float V2[3], float V1[3]);
- void Quaternion_GetDcmZ(const float Q[4], float dcm_z[3]);
- #ifdef __cplusplus
- }
- #endif
|