Quaternion Mathematics


Typedefs

typedef float Lib3dsQuat [4]

Functions

void lib3ds_quat_zero (Lib3dsQuat c)
void lib3ds_quat_identity (Lib3dsQuat c)
void lib3ds_quat_copy (Lib3dsQuat dest, Lib3dsQuat src)
void lib3ds_quat_axis_angle (Lib3dsQuat c, Lib3dsVector axis, Lib3dsFloat angle)
void lib3ds_quat_neg (Lib3dsQuat c)
void lib3ds_quat_abs (Lib3dsQuat c)
void lib3ds_quat_cnj (Lib3dsQuat c)
void lib3ds_quat_mul (Lib3dsQuat c, Lib3dsQuat a, Lib3dsQuat b)
void lib3ds_quat_scalar (Lib3dsQuat c, Lib3dsFloat k)
void lib3ds_quat_normalize (Lib3dsQuat c)
void lib3ds_quat_inv (Lib3dsQuat c)
Lib3dsFloat lib3ds_quat_dot (Lib3dsQuat a, Lib3dsQuat b)
Lib3dsFloat lib3ds_quat_squared (Lib3dsQuat c)
Lib3dsFloat lib3ds_quat_length (Lib3dsQuat c)
void lib3ds_quat_ln (Lib3dsQuat c)
void lib3ds_quat_ln_dif (Lib3dsQuat c, Lib3dsQuat a, Lib3dsQuat b)
void lib3ds_quat_exp (Lib3dsQuat c)
void lib3ds_quat_slerp (Lib3dsQuat c, Lib3dsQuat a, Lib3dsQuat b, Lib3dsFloat t)
void lib3ds_quat_squad (Lib3dsQuat c, Lib3dsQuat a, Lib3dsQuat p, Lib3dsQuat q, Lib3dsQuat b, Lib3dsFloat t)
void lib3ds_quat_tangent (Lib3dsQuat c, Lib3dsQuat p, Lib3dsQuat q, Lib3dsQuat n)
void lib3ds_quat_dump (Lib3dsQuat q)

Function Documentation

void lib3ds_quat_abs ( Lib3dsQuat  c  ) 

Compute the absolute value of a quaternion

Definition at line 126 of file quat.c.

void lib3ds_quat_axis_angle ( Lib3dsQuat  c,
Lib3dsVector  axis,
Lib3dsFloat  angle 
)

Compute a quaternion from axis and angle.

Parameters:
c Computed quaternion
axis Rotation axis
angle Angle of rotation, radians.

Definition at line 84 of file quat.c.

Referenced by lib3ds_matrix_rotate_axis(), lib3ds_quat_key_setup(), and lib3ds_quat_track_setup().

void lib3ds_quat_cnj ( Lib3dsQuat  c  ) 

Compute the conjugate of a quaternion

Definition at line 141 of file quat.c.

void lib3ds_quat_copy ( Lib3dsQuat  dest,
Lib3dsQuat  src 
)

Copy a quaternion.

Definition at line 65 of file quat.c.

Referenced by lib3ds_quat_key_setup(), lib3ds_quat_ln_dif(), lib3ds_quat_track_eval(), and lib3ds_quat_track_setup().

Lib3dsFloat lib3ds_quat_dot ( Lib3dsQuat  a,
Lib3dsQuat  b 
)

Compute the dot-product of a quaternion.

Definition at line 238 of file quat.c.

Referenced by lib3ds_quat_key_setup().

void lib3ds_quat_identity ( Lib3dsQuat  c  ) 

Set a quaternion to Identity

Definition at line 53 of file quat.c.

Referenced by lib3ds_quat_track_eval().

void lib3ds_quat_inv ( Lib3dsQuat  c  ) 

Compute the inverse of a quaternion.

Definition at line 213 of file quat.c.

Referenced by lib3ds_quat_ln_dif().

void lib3ds_quat_mul ( Lib3dsQuat  c,
Lib3dsQuat  a,
Lib3dsQuat  b 
)

Multiply two quaternions.

Parameters:
c Result
a,b Inputs

Definition at line 158 of file quat.c.

Referenced by lib3ds_quat_key_setup(), lib3ds_quat_ln_dif(), lib3ds_quat_tangent(), and lib3ds_quat_track_setup().

void lib3ds_quat_neg ( Lib3dsQuat  c  ) 

Negate a quaternion

Definition at line 111 of file quat.c.

Referenced by lib3ds_quat_key_setup().

void lib3ds_quat_normalize ( Lib3dsQuat  c  ) 

Normalize a quaternion.

Definition at line 188 of file quat.c.

void lib3ds_quat_scalar ( Lib3dsQuat  c,
Lib3dsFloat  k 
)

Multiply a quaternion by a scalar.

Definition at line 173 of file quat.c.

void lib3ds_quat_zero ( Lib3dsQuat  c  ) 

Clear a quaternion.

Definition at line 42 of file quat.c.


Hosted by
SourceForge.net Logo
Generated at Wed Jun 20 18:51:36 2007 by Doxygen 1.5.2