|
DYNAMICS C API
C-compatible interface to the DYNAMICS library
|
Functions | |
| void | c_quaternion_from_array (const double x[4], c_quaternion *q) |
| Construct a quaternion from four scalar components. | |
| void | c_quaternion_from_matrix (const double *x, int ldx, c_quaternion *q) |
| Construct a quaternion from a rotation matrix. | |
| void | c_quaternion_from_angle_axis (double angle, const double axis[3], c_quaternion *q) |
| Construct a quaternion from angle-axis data. | |
| void | c_quaternion_normalize (c_quaternion *q) |
| Normalize a quaternion in place. | |
| void | c_quaternion_add (const c_quaternion *x, const c_quaternion *y, c_quaternion *q) |
| Add two quaternions. | |
| void | c_quaternion_subtract (const c_quaternion *x, const c_quaternion *y, c_quaternion *q) |
| Subtract two quaternions. | |
| void | c_quaternion_multiply (const c_quaternion *x, const c_quaternion *y, c_quaternion *q) |
| Multiply two quaternions. | |
| void | c_quaternion_divide (const c_quaternion *x, const c_quaternion *y, c_quaternion *q) |
| Divide two quaternions. | |
| void | c_quaternion_scale (double x, const c_quaternion *y, c_quaternion *q) |
| Scale a quaternion. | |
| void | c_quaternion_conjugate (const c_quaternion *q, c_quaternion *qc) |
| Compute a quaternion conjugate. | |
| void | c_quaternion_rotate (const c_quaternion *q, const double r[3], double rp[3]) |
| Rotate a vector using a quaternion. | |
| double | c_quaternion_abs (const c_quaternion *q) |
| Compute the quaternion norm. | |
| void | c_quaternion_inverse (const c_quaternion *q, c_quaternion *qinv) |
| Compute a quaternion inverse. | |
| void | c_quaternion_to_matrix (const c_quaternion *q, double *r, int ldr) |
| Convert a quaternion to a rotation matrix. | |
| void | c_quaternion_to_angle_axis (const c_quaternion *q, double *angle, double axis[3]) |
| Convert a quaternion to angle-axis data. | |
| void | c_quaternion_exp (const c_quaternion *q, c_quaternion *rst) |
| Compute the quaternion exponential. | |
| void | c_quaternion_log (const c_quaternion *q, c_quaternion *rst) |
| Compute the quaternion logarithm. | |
| void | c_quaternion_pow (const c_quaternion *q, double exponent, c_quaternion *rst) |
| Raise a quaternion to a real power. | |
| double | c_quaternion_dot_product (const c_quaternion *x, const c_quaternion *y) |
| Compute the quaternion dot product. | |
| void | c_quaternion_to_roll_pitch_yaw (const c_quaternion *q, double *roll, double *pitch, double *yaw) |
| Convert a quaternion to roll, pitch, and yaw angles. | |
| void c_quaternion_from_array | ( | const double | x[4], |
| c_quaternion * | q | ||
| ) |
Construct a quaternion from four scalar components.
| x | Four components in w,x,y,z order. |
| q | Output quaternion. |
| void c_quaternion_from_matrix | ( | const double * | x, |
| int | ldx, | ||
| c_quaternion * | q | ||
| ) |
Construct a quaternion from a rotation matrix.
| x | Rotation matrix. |
| ldx | Leading dimension of x. |
| q | Output quaternion. |
| void c_quaternion_from_angle_axis | ( | double | angle, |
| const double | axis[3], | ||
| c_quaternion * | q | ||
| ) |
Construct a quaternion from angle-axis data.
| angle | Rotation angle in radians. |
| axis | Unit rotation axis. |
| q | Output quaternion. |
| void c_quaternion_normalize | ( | c_quaternion * | q | ) |
Normalize a quaternion in place.
| q | Quaternion updated in place. |
| void c_quaternion_add | ( | const c_quaternion * | x, |
| const c_quaternion * | y, | ||
| c_quaternion * | q | ||
| ) |
Add two quaternions.
| x | First quaternion. |
| y | Second quaternion. |
| q | Output quaternion. |
| void c_quaternion_subtract | ( | const c_quaternion * | x, |
| const c_quaternion * | y, | ||
| c_quaternion * | q | ||
| ) |
Subtract two quaternions.
| x | First quaternion. |
| y | Second quaternion. |
| q | Output quaternion. |
| void c_quaternion_multiply | ( | const c_quaternion * | x, |
| const c_quaternion * | y, | ||
| c_quaternion * | q | ||
| ) |
Multiply two quaternions.
| x | First quaternion. |
| y | Second quaternion. |
| q | Output quaternion. |
| void c_quaternion_divide | ( | const c_quaternion * | x, |
| const c_quaternion * | y, | ||
| c_quaternion * | q | ||
| ) |
Divide two quaternions.
| x | Numerator quaternion. |
| y | Denominator quaternion. |
| q | Output quaternion. |
| void c_quaternion_scale | ( | double | x, |
| const c_quaternion * | y, | ||
| c_quaternion * | q | ||
| ) |
Scale a quaternion.
| x | Scale factor. |
| y | Input quaternion. |
| q | Output quaternion. |
| void c_quaternion_conjugate | ( | const c_quaternion * | q, |
| c_quaternion * | qc | ||
| ) |
Compute a quaternion conjugate.
| q | Input quaternion. |
| qc | Output conjugate. |
| void c_quaternion_rotate | ( | const c_quaternion * | q, |
| const double | r[3], | ||
| double | rp[3] | ||
| ) |
Rotate a vector using a quaternion.
| q | Rotation quaternion. |
| r | Input vector. |
| rp | Output rotated vector. |
| double c_quaternion_abs | ( | const c_quaternion * | q | ) |
Compute the quaternion norm.
| q | Quaternion. |
| void c_quaternion_inverse | ( | const c_quaternion * | q, |
| c_quaternion * | qinv | ||
| ) |
Compute a quaternion inverse.
| q | Input quaternion. |
| qinv | Output inverse. |
| void c_quaternion_to_matrix | ( | const c_quaternion * | q, |
| double * | r, | ||
| int | ldr | ||
| ) |
Convert a quaternion to a rotation matrix.
| q | Quaternion. |
| r | Output matrix. |
| ldr | Leading dimension of r. |
| void c_quaternion_to_angle_axis | ( | const c_quaternion * | q, |
| double * | angle, | ||
| double | axis[3] | ||
| ) |
Convert a quaternion to angle-axis data.
| q | Quaternion. |
| angle | Output angle. |
| axis | Output axis. |
| void c_quaternion_exp | ( | const c_quaternion * | q, |
| c_quaternion * | rst | ||
| ) |
Compute the quaternion exponential.
| q | Input quaternion. |
| rst | Output quaternion. |
| void c_quaternion_log | ( | const c_quaternion * | q, |
| c_quaternion * | rst | ||
| ) |
Compute the quaternion logarithm.
| q | Input quaternion. |
| rst | Output quaternion. |
| void c_quaternion_pow | ( | const c_quaternion * | q, |
| double | exponent, | ||
| c_quaternion * | rst | ||
| ) |
Raise a quaternion to a real power.
| q | Input quaternion. |
| exponent | Power. |
| rst | Output quaternion. |
| double c_quaternion_dot_product | ( | const c_quaternion * | x, |
| const c_quaternion * | y | ||
| ) |
Compute the quaternion dot product.
| x | First quaternion. |
| y | Second quaternion. |
| void c_quaternion_to_roll_pitch_yaw | ( | const c_quaternion * | q, |
| double * | roll, | ||
| double * | pitch, | ||
| double * | yaw | ||
| ) |
Convert a quaternion to roll, pitch, and yaw angles.
| q | Quaternion. |
| roll | Output roll. |
| pitch | Output pitch. |
| yaw | Output yaw. |