Go to the source code of this file.
Classes | |
struct | vector2_t |
2 vector structure. More... | |
struct | vector3_t |
3 vector structure. More... | |
struct | vector4_t |
4 vector structure. More... | |
struct | matrix33_t |
3 by 3 matrix structure. More... | |
struct | matrix44_t |
4 by 4 matrix structure. More... | |
struct | pose2_t |
Basic 2D pose structure. More... | |
Functions | |
vector2_t | vector2_set (double v0, double v1) |
Set vector elements. | |
vector2_t | vector2_add (vector2_t a, vector2_t b) |
Add two vectors. | |
vector2_t | vector2_sub (vector2_t a, vector2_t b) |
Subtract vectors: c = a - b. | |
vector2_t | vector2_unit (vector2_t a) |
Return unit vector. | |
vector2_t | vector2_scale (double a, vector2_t b) |
Scale vector: c = ab. | |
double | vector2_dot (vector2_t a, vector2_t b) |
Dot product: c = a.b. | |
double | vector2_mag (vector2_t a) |
Vector magnitude: b = |a|. | |
double | vector2_dist (vector2_t a, vector2_t b) |
Euclidian distance between points a and b. | |
vector3_t | vector3_set (double v0, double v1, double v2) |
Set vector elements. | |
vector3_t | vector3_add (vector3_t a, vector3_t b) |
Add two vectors. | |
vector3_t | vector3_sub (vector3_t a, vector3_t b) |
Subtract vectors: c = a - b. | |
vector3_t | vector3_unit (vector3_t a) |
Return unit vector. | |
vector3_t | vector3_scale (double a, vector3_t b) |
Scale vector: c = ab. | |
double | vector3_dot (vector3_t a, vector3_t b) |
Dot product: c = a.b. | |
vector3_t | vector3_cross (vector3_t a, vector3_t b) |
Cross product: c = a x b. | |
double | vector3_mag (vector3_t a) |
Vector magnitude: b = |a|. | |
double | vector3_dist (vector3_t a, vector3_t b) |
Euclidian distance between points a and b. | |
vector4_t | vector4_set (double v0, double v1, double v2, double v3) |
Set vector elements. | |
vector4_t | vector4_add (vector4_t a, vector4_t b) |
Add two vectors. | |
vector4_t | vector4_sub (vector4_t a, vector4_t b) |
Subtract vectors: c = a - b. | |
vector4_t | vector4_unit (vector4_t a) |
Return unit vector. | |
vector4_t | vector4_scale (double a, vector4_t b) |
Scale vector: c = ab. | |
double | vector4_dot (vector4_t a, vector4_t b) |
Dot product: c = a.b. | |
double | vector4_mag (vector4_t a) |
Vector magnitude: b = |a|. | |
double | vector4_dist (vector4_t a, vector4_t b) |
Euclidian distance between points a and b. | |
matrix33_t | matrix33_set (double v00, double v01, double v02, double v10, double v11, double v12, double v20, double v21, double v22) |
Set matrix elements. | |
matrix33_t | matrix33_setv (double v[16]) |
Set matrix elements. | |
matrix33_t | matrix33_ident () |
Construct identity matrix. | |
matrix33_t | matrix33_add (matrix33_t a, matrix33_t b) |
Add two matrixs. | |
matrix33_t | matrix33_sub (matrix33_t a, matrix33_t b) |
Subtract matrixs: c = a - b. | |
matrix33_t | matrix33_mul (matrix33_t a, matrix33_t b) |
Matrix multiplication c = ab. | |
vector3_t | matrix33_mul_3 (matrix33_t a, vector3_t b) |
Matrix/vector multiplication c = ab. | |
matrix33_t | matrix33_trans (matrix33_t a) |
Transpose matrix. | |
matrix33_t | matrix33_inv (matrix33_t a) |
Inv matrix. | |
int | matrix33_isnan (matrix33_t a) |
Check for nan elements. | |
matrix33_t | matrix33_mul_33 (matrix33_t a, matrix33_t b) |
Matrix multiplication c = ab. | |
matrix44_t | matrix44_set (double v00, double v01, double v02, double v03, double v10, double v11, double v12, double v13, double v20, double v21, double v22, double v23, double v30, double v31, double v32, double v33) |
Set matrix elements. | |
matrix44_t | matrix44_setv (double v[16]) |
Set matrix elements. | |
matrix44_t | matrix44_ident () |
Construct identity matrix. | |
matrix44_t | matrix44_add (matrix44_t a, matrix44_t b) |
Add two matrixs. | |
matrix44_t | matrix44_sub (matrix44_t a, matrix44_t b) |
Subtract matrixs: c = a - b. | |
matrix44_t | matrix44_mul (matrix44_t a, matrix44_t b) |
Matrix multiplication c = ab. | |
vector4_t | matrix44_mul_4 (matrix44_t a, vector4_t b) |
Matrix/vector multiplication c = ab. | |
matrix44_t | matrix44_trans (matrix44_t a) |
Transpose matrix. | |
matrix44_t | matrix44_inv (matrix44_t a) |
Inv matrix. | |
int | matrix44_isnan (matrix44_t a) |
Check for nan elements. | |
matrix44_t | matrix44_mul_44 (matrix44_t a, matrix44_t b) |
Matrix multiplication c = ab. | |
pose2_t | pose2_set (vector2_t pos, double rot) |
Set pose elements. | |
pose2_t | pose2_inv (pose2_t a) |
Take pose "inverse"; i.e. if c = a + b, then b = -a + c. | |
pose2_t | pose2_add (pose2_t a, pose2_t b) |
Add two poses c = a + b. | |
vector2_t | pose2_add_pos (vector2_t a, pose2_t b) |
Add two poses c = a + b. | |
double | pose2_add_rot (double a, pose2_t b) |
Add two poses (rotation component) c = a + b. | |
pose2_t | pose2_sub (pose2_t a, pose2_t b) |
Subtract poses: c = a - b. | |
vector2_t | pose2_sub_pos (vector2_t a, pose2_t b) |
Subtract two poses c = a - b. | |
double | pose2_sub_rot (double a, pose2_t b) |
Subtract two poses (rotation component) c = a - b. |