nuklei::la Namespace Reference

Namespace containing linear algebra functions (and some other functions). More...

Functions

void eigenDecomposition (Matrix3 &eVectors, Vector3 &eValues, const Matrix3 &sym)
 
double determinant (const GMatrix &m)
 
GMatrix inverse (const GMatrix &m)
 
Quaternion quaternionCopy (const Matrix3 &m)
 
Matrix3 matrixCopy (const Quaternion &q)
 
Quaternion quaternionCopy (const Quaternion &q)
 
Matrix3 matrixCopy (const Matrix3 &m)
 
void copyRotation (Quaternion &q, const Matrix3 &m)
 
void copyRotation (Matrix3 &m, const Quaternion &q)
 
void copyRotation (Quaternion &q, const Quaternion &q2)
 
void copyRotation (Matrix3 &m, const Matrix3 &m2)
 
GVector gVectorCopy (const GVector &v)
 
GVector gVectorCopy (const Vector3 &v)
 
Vector3 vector3Copy (const Vector3 &v)
 
Vector3 vector3Copy (const GVector &v)
 
Vector3 normalized (const Vector3 &v)
 
Quaternion normalized (const Quaternion &q)
 
Matrix3 normalized (const Matrix3 &m)
 
void makeZero (Vector3 &v)
 
void makeIdentity (Matrix3 &m)
 
void makeIdentity (Quaternion &q)
 
Vector3 min (const Vector3 &v1, const Vector3 &v2)
 
Vector3 max (const Vector3 &v1, const Vector3 &v2)
 
Vector3 mean (const Vector3 &v1, const Vector3 &v2)
 
Vector3 xAxis (const Quaternion &q)
 
Vector3 xAxis (const Matrix3 &m)
 
coord_t numDrift (const Quaternion &q)
 
coord_t numDrift (const Matrix3 &m)
 
void check (const Quaternion &q, const char *msg)
 
void check (const Matrix3 &m, const char *msg)
 
Quaternion inverseRotation (const Quaternion &q)
 
Matrix3 inverseRotation (const Matrix3 &m)
 
Quaternion slerp (double c, const Quaternion &q1, const Quaternion &q2)
 
Matrix3 slerp (double c, const Matrix3 &m1, const Matrix3 &m2)
 
Quaternion mean (const Quaternion &q1, const Quaternion &q2)
 
Matrix3 mean (const Matrix3 &m1, const Matrix3 &m2)
 
Quaternion so3FromS2 (const Vector3 &w)
 
Vector3 transform (const Vector3 &x, const Matrix3 &X, const Vector3 &y)
 Returns \( Xy + x \).
 
Vector3 transform (const Vector3 &x, const Quaternion &X, const Vector3 &y)
 Returns \( Xy + x \).
 
void transform (Vector3 &z, Matrix3 &Z, const Vector3 &x, const Matrix3 &X, const Vector3 &y, const Matrix3 &Y)
 \( z = X y + x, Z = X Y \).
 
void transform (Vector3 &z, Quaternion &Z, const Vector3 &x, const Quaternion &X, const Vector3 &y, const Quaternion &Y)
 \( z = X y + x, Z = X Y \).
 
void transform (Vector3 &z, Vector3 &Z, const Vector3 &x, const Matrix3 &X, const Vector3 &y, const Vector3 &Y)
 \( z = X y + x, Z = X Y \).
 
void transform (Vector3 &z, Vector3 &Z, const Vector3 &x, const Quaternion &X, const Vector3 &y, const Vector3 &Y)
 \( z = X y + x, Z = X Y \).
 
Vector3 project (const Vector3 &x, const Matrix3 &X, const Vector3 &z)
 Returns \( X^T (z-x) \).
 
Vector3 project (const Vector3 &x, const Quaternion &X, const Vector3 &z)
 Returns \( X^T (z-x) \).
 
void project (Vector3 &y, Matrix3 &Y, const Vector3 &x, const Matrix3 &X, const Vector3 &z, const Matrix3 &Z)
 \( y = X^T (z-x), Y = X^T Z \).
 
void project (Vector3 &y, Quaternion &Y, const Vector3 &x, const Quaternion &X, const Vector3 &z, const Quaternion &Z)
 \( y = X^T (z-x), Y = X^T Z \).
 
void project (Vector3 &y, Vector3 &Y, const Vector3 &x, const Matrix3 &X, const Vector3 &z, const Vector3 &Z)
 \( y = X^T (z-x), Y = X^T Z \).
 
void project (Vector3 &y, Vector3 &Y, const Vector3 &x, const Quaternion &X, const Vector3 &z, const Vector3 &Z)
 \( y = X^T (z-x), Y = X^T Z \).
 
void transfoTo (Vector3 &x, Matrix3 &X, const Vector3 &y, const Matrix3 &Y, const Vector3 &z, const Matrix3 &Z)
 \( x = z - Z Y^T y, X = Z Y^T \)
 
void transfoTo (Vector3 &x, Quaternion &X, const Vector3 &y, const Quaternion &Y, const Vector3 &z, const Quaternion &Z)
 \( x = z - Z Y^T y, X = Z Y^T \)
 
template<class R >
void fromAngleAxisString (R &r, const std::string &angleAxis)
 
template<class R >
std::string toAngleAxisString (const R &r)
 

Detailed Description

Namespace containing linear algebra functions (and some other functions).

© Copyright 2007-2013 Renaud Detry.
Distributed under the terms of the GNU General Public License (GPL).
(See accompanying file LICENSE.txt or copy at http://www.gnu.org/copyleft/gpl.html.)
Revised Sun Sep 13 2020 19:10:15.