GCGlib
0.04.228
GCG Graphics Engine
|
Functions | |
bool | gcgInverseMatrix2 (MATRIX2 inverse, MATRIX2 matrix) |
Computes the inverse of a 2x2 matrix by the direct method. It is suitable for fast inverse computation in bidimensional spaces. In this version, both input and output matrices are C vectors of 4 floats in row first order. More... | |
bool | gcgInverseMatrix3 (MATRIX3 inverse, MATRIX3 matrix) |
Computes the inverse of a 3x3 matrix by the direct method. It is suitable for fast inverse computation in tridimensional spaces. More... | |
bool | gcgInverseMatrix4 (MATRIX4 inverse, MATRIX4 matrix) |
Computes the inverse of a 4x4 matrix by the direct method. It is suitable for fast inverse computation in homogeneous spaces in computer graphics. In this version, both input and output matrices are C vectors of 16 floats in row first order. More... | |
bool | gcgInverseMatrix2 (MATRIX2d inverse, MATRIX2d matrix) |
Computes the inverse of a 2x2 matrix by the direct method. It is suitable for fast inverse computation in bidimensional spaces. In this version, both input and output matrices are C vectors of 4 doubles in row first order. More... | |
bool | gcgInverseMatrix3 (MATRIX3d inverse, MATRIX3d matrix) |
Computes the inverse of a 3x3 matrix by the direct method. It is suitable for fast inverse computation in tridimensional spaces. More... | |
bool | gcgInverseMatrix4 (MATRIX4d inverse, MATRIX4d matrix) |
Computes the inverse of a 4x4 matrix by the direct method. It is suitable for fast inverse computation in homogeneous spaces in computer graphics. In this version, both input and output matrices are C vectors of 16 doubles in row first order. More... | |
bool | gcgEigenSymmetric (int norder, float matrix[], float eigenvectors[], float eigenvalues[]) |
Computes the eigensystem decomposition of a symmetric matrix matrix with arbitraty order. The resulted eigenvectors are stored as rows in a matrix eigenvectors with norder x norder elements. Their respective norder eigenvalues are stored in the vector eigenvalues. The eigenvectors and eigenvalues are ordered by decreasing eigenvalues. Version adapted from the public domain Java Matrix library JAMA. In this version, the input and output matrices are C vectors of norder x norder floats in row first order. More... | |
bool | gcgEigenSymmetric (int norder, double matrix[], double eigenvectors[], double eigenvalues[]) |
Computes the eigensystem decomposition of a symmetric matrix matrix with arbitraty order. The resulted eigenvectors are stored as rows in a matrix eigenvectors with norder x norder elements. Their respective norder eigenvalues are stored in the vector eigenvalues. The eigenvectors and eigenvalues are ordered by decreasing eigenvalues. Version adapted from the public domain Java Matrix library JAMA. In this version, the input and output matrices are C vectors of norder x norder doubles in row first order. More... | |
bool | gcgEigenSymmetricMatrix3 (MATRIX3 matrix, MATRIX3 eigenvectors, VECTOR3 eigenvalues) |
Computes the eigensystem decomposition of a symmetric 3 x 3 matrix matrix. The resulted eigenvectors are stored as rows in a matrix eigenvectors with 3 x 3 elements. Their respective three eigenvalues are stored in the vector eigenvalues. The eigenvectors and eigenvalues are ordered by decreasing eigenvalues. Version adapted from the public domain Java Matrix library JAMA. In this version, the input and output matrices are C vectors of 3 x 3 floats in row first order. More... | |
bool | gcgEigenSymmetricMatrix3 (MATRIX3d matrix, MATRIX3d eigenvectors, VECTOR3d eigenvalues) |
Computes the eigensystem decomposition of a symmetric 3 x 3 matrix matrix. The resulted eigenvectors are stored as rows in a matrix eigenvectors with 3 x 3 elements. Their respective three eigenvalues are stored in the vector eigenvalues. The eigenvectors and eigenvalues are ordered by decreasing eigenvalues. Version adapted from the public domain Java Matrix library JAMA. In this version, the input and output matrices are C vectors of 3 x 3 doubles in row first order. More... | |
GCGlib provides a minimum linear algebra functionality which serves as basis for several methods. It is the core of important computer vision and computer geometry algorithms.
bool gcgEigenSymmetric | ( | int | norder, |
float | matrix[], | ||
float | eigenvectors[], | ||
float | eigenvalues[] | ||
) |
Computes the eigensystem decomposition of a symmetric matrix matrix with arbitraty order. The resulted eigenvectors are stored as rows in a matrix eigenvectors with norder x norder elements. Their respective norder eigenvalues are stored in the vector eigenvalues. The eigenvectors and eigenvalues are ordered by decreasing eigenvalues. Version adapted from the public domain Java Matrix library JAMA. In this version, the input and output matrices are C vectors of norder x norder floats in row first order.
[in] | norder | order of the input square matrix. |
[in] | matrix | pointer to a square matrix of norder x norder elements stored in row first order. |
[out] | eigenvectors | pointer to a square matrix of norder x norder elements that will receive the norder eigenvectors of the input matrix arranged by row first order. |
[out] | eigenvalues | pointer to a vector of norder elements that will receive the eigenvalues of the input matrix. They are stored by decreasing eigenvalues and their positions are respective to the eigenvectors positions in the matrix eigenvectors. |
bool gcgEigenSymmetric | ( | int | norder, |
double | matrix[], | ||
double | eigenvectors[], | ||
double | eigenvalues[] | ||
) |
Computes the eigensystem decomposition of a symmetric matrix matrix with arbitraty order. The resulted eigenvectors are stored as rows in a matrix eigenvectors with norder x norder elements. Their respective norder eigenvalues are stored in the vector eigenvalues. The eigenvectors and eigenvalues are ordered by decreasing eigenvalues. Version adapted from the public domain Java Matrix library JAMA. In this version, the input and output matrices are C vectors of norder x norder doubles in row first order.
[in] | norder | order of the input square matrix. |
[in] | matrix | pointer to a square matrix of norder x norder elements stored in row first order. |
[out] | eigenvectors | pointer to a square matrix of norder x norder elements that will receive the norder eigenvectors of the input matrix arranged by row first order. |
[out] | eigenvalues | pointer to a vector of norder elements that will receive the eigenvalues of the input matrix. They are stored by decreasing eigenvalues and their positions are respective to the eigenvectors positions in the matrix eigenvectors. |
bool gcgEigenSymmetricMatrix3 | ( | MATRIX3 | matrix, |
MATRIX3 | eigenvectors, | ||
VECTOR3 | eigenvalues | ||
) |
Computes the eigensystem decomposition of a symmetric 3 x 3 matrix matrix. The resulted eigenvectors are stored as rows in a matrix eigenvectors with 3 x 3 elements. Their respective three eigenvalues are stored in the vector eigenvalues. The eigenvectors and eigenvalues are ordered by decreasing eigenvalues. Version adapted from the public domain Java Matrix library JAMA. In this version, the input and output matrices are C vectors of 3 x 3 floats in row first order.
[in] | matrix | pointer to a square matrix of 3 x 3 elements stored in row first order. |
[out] | eigenvectors | pointer to a square matrix of 3 x 3 elements that will receive the three eigenvectors of the input matrix arranged by row first order. |
[out] | eigenvalues | pointer to a vector of three elements that will receive the eigenvalues of the input matrix. They are stored by decreasing eigenvalues and their positions are respective to the eigenvectors positions in the matrix eigenvectors. |
bool gcgEigenSymmetricMatrix3 | ( | MATRIX3d | matrix, |
MATRIX3d | eigenvectors, | ||
VECTOR3d | eigenvalues | ||
) |
Computes the eigensystem decomposition of a symmetric 3 x 3 matrix matrix. The resulted eigenvectors are stored as rows in a matrix eigenvectors with 3 x 3 elements. Their respective three eigenvalues are stored in the vector eigenvalues. The eigenvectors and eigenvalues are ordered by decreasing eigenvalues. Version adapted from the public domain Java Matrix library JAMA. In this version, the input and output matrices are C vectors of 3 x 3 doubles in row first order.
[in] | matrix | pointer to a square matrix of 3 x 3 elements stored in row first order. |
[out] | eigenvectors | pointer to a square matrix of 3 x 3 elements that will receive the three eigenvectors of the input matrix arranged by row first order. |
[out] | eigenvalues | pointer to a vector of three elements that will receive the eigenvalues of the input matrix. They are stored by decreasing eigenvalues and their positions are respective to the eigenvectors positions in the matrix eigenvectors. |
bool gcgInverseMatrix2 | ( | MATRIX2 | inverse, |
MATRIX2 | matrix | ||
) |
Computes the inverse of a 2x2 matrix by the direct method. It is suitable for fast inverse computation in bidimensional spaces. In this version, both input and output matrices are C vectors of 4 floats in row first order.
[out] | inverse | Points to the 2x2 matrix that receives the inverted matrix of matrix parameter. If it is a singular matrix, it receives its adjoint. |
[in] | matrix | The input 2x2 matrix to be inverted. |
bool gcgInverseMatrix2 | ( | MATRIX2d | inverse, |
MATRIX2d | matrix | ||
) |
Computes the inverse of a 2x2 matrix by the direct method. It is suitable for fast inverse computation in bidimensional spaces. In this version, both input and output matrices are C vectors of 4 doubles in row first order.
[out] | inverse | Points to the 2x2 matrix that receives the inverted matrix of matrix parameter. If it is a singular matrix, it receives its adjoint. |
[in] | matrix | The input 2x2 matrix to be inverted. |
bool gcgInverseMatrix3 | ( | MATRIX3 | inverse, |
MATRIX3 | matrix | ||
) |
Computes the inverse of a 3x3 matrix by the direct method. It is suitable for fast inverse computation in tridimensional spaces.
[out] | inverse | Points to the 3x3 matrix that receives the inverted matrix of matrix parameter. If it is a singular matrix, it receives its adjoint. In this version, both input and output matrices are C vectors of 9 floats in row first order. |
[in] | matrix | The input 3x3 matrix to be inverted. |
bool gcgInverseMatrix3 | ( | MATRIX3d | inverse, |
MATRIX3d | matrix | ||
) |
Computes the inverse of a 3x3 matrix by the direct method. It is suitable for fast inverse computation in tridimensional spaces.
[out] | inverse | Points to the 3x3 matrix that receives the inverted matrix of matrix parameter. If it is a singular matrix, it receives its adjoint. In this version, both input and output matrices are C vectors of 9 doubles in row first order. |
[in] | matrix | The input 3x3 matrix to be inverted. |
bool gcgInverseMatrix4 | ( | MATRIX4 | inverse, |
MATRIX4 | matrix | ||
) |
Computes the inverse of a 4x4 matrix by the direct method. It is suitable for fast inverse computation in homogeneous spaces in computer graphics. In this version, both input and output matrices are C vectors of 16 floats in row first order.
[out] | inverse | Points to the 4x4 matrix that receives the inverted matrix of matrix parameter. If it is a singular matrix, it receives its adjoint. |
[in] | matrix | The input 4x4 matrix to be inverted. |
bool gcgInverseMatrix4 | ( | MATRIX4d | inverse, |
MATRIX4d | matrix | ||
) |
Computes the inverse of a 4x4 matrix by the direct method. It is suitable for fast inverse computation in homogeneous spaces in computer graphics. In this version, both input and output matrices are C vectors of 16 doubles in row first order.
[out] | inverse | Points to the 4x4 matrix that receives the inverted matrix of matrix parameter. If it is a singular matrix, it receives its adjoint. |
[in] | matrix | The input 4x4 matrix to be inverted. |