utilities for rotations math More...
#include <stdio.h>#include <string.h>#include <math.h>#include <assert.h>#include "rotations.h"
Go to the source code of this file.
Defines | |
| #define | FAIL_TEST |
Functions | |
| static int | feq (double a, double b) |
| static int | qeq (double *q, double a, double b, double c, double d) |
| void | rot_angle_axis_to_quat (double theta, const double axis[3], double q[4]) |
| void | rot_angle_axis_to_roll_pitch_yaw (double theta, const double axis[3], double rpy[3]) |
| int | rot_matrix_to_quat (const double rot[9], double quat[4]) |
| void | rot_quat_mult (double c[4], const double a[4], const double b[4]) |
| rot_quat_mult | |
| int | rot_quat_pos_to_matrix (const double quat[4], const double pos[3], double mat[16]) |
| void | rot_quat_rotate (const double rot[4], double v[3]) |
| rot_quat_rotate | |
| void | rot_quat_rotate_rev (const double rot[4], double v[3]) |
| rot_quat_rotate_rev | |
| void | rot_quat_to_angle_axis (const double q[4], double *theta, double axis[3]) |
| int | rot_quat_to_matrix (const double quat[4], double rot[9]) |
| void | rot_quat_to_roll_pitch_yaw (const double q[4], double rpy[3]) |
| int | rot_quaternion_test () |
| void | rot_roll_pitch_yaw_to_angle_axis (const double rpy[3], double *theta, double axis[3]) |
| void | rot_roll_pitch_yaw_to_quat (const double rpy[3], double q[4]) |
| static int | rpyeq (double roll, double pitch, double yaw, double r, double p, double y) |
utilities for rotations math
Definition in file rotations.cpp.
| #define FAIL_TEST |
{ fprintf(stderr, "rot_quaternion_test failed at line %d\n", \
__LINE__); return 0; }
| static int feq | ( | double | a, | |
| double | b | |||
| ) | [inline, static] |
Definition at line 41 of file rotations.cpp.
| static int qeq | ( | double * | q, | |
| double | a, | |||
| double | b, | |||
| double | c, | |||
| double | d | |||
| ) | [inline, static] |
Definition at line 46 of file rotations.cpp.
| void rot_angle_axis_to_quat | ( | double | theta, | |
| const double | axis[3], | |||
| double | q[4] | |||
| ) |
Definition at line 134 of file rotations.cpp.
| void rot_angle_axis_to_roll_pitch_yaw | ( | double | theta, | |
| const double | axis[3], | |||
| double | rpy[3] | |||
| ) |
Definition at line 218 of file rotations.cpp.
| int rot_matrix_to_quat | ( | const double | rot[9], | |
| double | quat[4] | |||
| ) |
Definition at line 289 of file rotations.cpp.
| void rot_quat_mult | ( | double | c[4], | |
| const double | a[4], | |||
| const double | b[4] | |||
| ) |
rot_quat_mult
Multiplies quaternion a with quaternion b and stores the result in c. Arguments a and b must be double-precision floating point arrays of length 4.
| c | Array where the result of the multiplication is stored. Must be at least 4 elements long. | |
| a | Input quaternion to be multiplied (left-side). | |
| b | Input quaternion to be multiplied (right-side). |
Definition at line 68 of file rotations.cpp.
| int rot_quat_pos_to_matrix | ( | const double | quat[4], | |
| const double | pos[3], | |||
| double | mat[16] | |||
| ) |
Definition at line 260 of file rotations.cpp.
| void rot_quat_rotate | ( | const double | rot[4], | |
| double | v[3] | |||
| ) |
rot_quat_rotate
Rotates a vector v from one coordinate system to another as specified by a unit quaternion rot.
| rot | Unit quaternion that specifies the rotation. | |
| v | 3-vector that is rotated according to the quaternion and modified in place with the result. |
Definition at line 87 of file rotations.cpp.
| void rot_quat_rotate_rev | ( | const double | rot[4], | |
| double | v[3] | |||
| ) |
rot_quat_rotate_rev
Rotates a vector v from one coordinate system to another as specified by a unit quaternion rot, but performs the rotation in the reverse direction of rot_quat_rotate().
| rot | Unit quaternion that specifies the rotation. | |
| v | 3-vector that is rotated according to the quaternion rot and modified in place with the result. |
Definition at line 116 of file rotations.cpp.
| void rot_quat_to_angle_axis | ( | const double | q[4], | |
| double * | theta, | |||
| double | axis[3] | |||
| ) |
Definition at line 153 of file rotations.cpp.
| int rot_quat_to_matrix | ( | const double | quat[4], | |
| double | rot[9] | |||
| ) |
Definition at line 228 of file rotations.cpp.
| void rot_quat_to_roll_pitch_yaw | ( | const double | q[4], | |
| double | rpy[3] | |||
| ) |
Definition at line 194 of file rotations.cpp.
| int rot_quaternion_test | ( | ) |
Definition at line 320 of file rotations.cpp.
| void rot_roll_pitch_yaw_to_angle_axis | ( | const double | rpy[3], | |
| double * | theta, | |||
| double | axis[3] | |||
| ) |
Definition at line 209 of file rotations.cpp.
| void rot_roll_pitch_yaw_to_quat | ( | const double | rpy[3], | |
| double | q[4] | |||
| ) |
Definition at line 171 of file rotations.cpp.
| static int rpyeq | ( | double | roll, | |
| double | pitch, | |||
| double | yaw, | |||
| double | r, | |||
| double | p, | |||
| double | y | |||
| ) | [inline, static] |
Definition at line 52 of file rotations.cpp.