34 #ifndef COORDINATECONVERSIONS_H_
35 #define COORDINATECONVERSIONS_H_
39 void RneFromLLA(
float LLA[3],
float Rne[3][3]);
42 void Rv2Rot(
float Rv[3],
float R[3][3]);
54 void Euler2R(
float rpy[3],
float Rbe[3][3]);
63 uint8_t
RotFrom2Vectors(
const float v1b[3],
const float v1e[3],
const float v2b[3],
const float v2e[3],
float Rbe[3][3]);
66 void CrossProduct(
const float v1[3],
const float v2[3],
float result[3]);
72 void quat_copy(
const float q[4],
float qnew[4]);
73 void quat_mult(
const float q1[4],
const float q2[4],
float qout[4]);
74 void rot_mult(
float R[3][3],
const float vec[3],
float vec_out[3],
bool transpose);
void rot_mult(float R[3][3], const float vec[3], float vec_out[3], bool transpose)
Rotate a vector by a rotation matrix.
void Rv2Rot(float Rv[3], float R[3][3])
void Quaternion2R(float q[4], float Rbe[3][3])
void RPY2Quaternion(const float rpy[3], float q[4])
void quat_copy(const float q[4], float qnew[4])
Duplicate a quaternion.
float VectorMagnitude(const float v[3])
void quat_mult(const float q1[4], const float q2[4], float qout[4])
Multiply two quaternions into a third.
void RneFromLLA(float LLA[3], float Rne[3][3])
void R2Quaternion(float R[3][3], float q[4])
void Euler2R(float rpy[3], float Rbe[3][3])
void CrossProduct(const float v1[3], const float v2[3], float result[3])
void quat_inverse(float q[4])
Compute the inverse of a quaternion.
uint8_t RotFrom2Vectors(const float v1b[3], const float v1e[3], const float v2b[3], const float v2e[3], float Rbe[3][3])
void Quaternion2RPY(const float q[4], float rpy[3])