115 float yaw2 = atan2(nc, dot) / 2.0;
120 if (dot_cross_ab < 0) {
126 QUAT_ASSIGN(q_yaw, cosf(yaw2), 0.0, 0.0, sinf(yaw2));
static void float_quat_normalize(struct FloatQuat *q)
void float_rmat_of_quat(struct FloatRMat *rm, struct FloatQuat *q)
static void float_quat_wrap_shortest(struct FloatQuat *q)
#define FLOAT_VECT3_NORM(_v)
void float_quat_of_orientation_vect(struct FloatQuat *q, const struct FloatVect3 *ov)
Quaternion from orientation vector.
void float_quat_comp(struct FloatQuat *a2c, struct FloatQuat *a2b, struct FloatQuat *b2c)
Composition (multiplication) of two quaternions.
#define VECT3_CROSS_PRODUCT(_vo, _v1, _v2)
#define QUAT_BFP_OF_REAL(_qi, _qf)
#define VECT3_ASSIGN(_a, _x, _y, _z)
#define QUAT_ASSIGN(_q, _i, _x, _y, _z)
#define EULERS_FLOAT_OF_BFP(_ef, _ei)
#define VECT3_DOT_PRODUCT(_v1, _v2)
#define ANGLE_FLOAT_OF_BFP(_ai)
int int32_t
Typedef defining 32 bit int type.