C3D Toolkit
Kernel - 117982, Vision - 2.9.2.2
|
The matrix of transformation in a three-dimensional space. More...
#include <vsn_matrix3d.h>
Public Member Functions | |
Matrix3DF () | |
Default constructor. Defines the identity matrix. | |
Matrix3DF (const float *pElements) | |
The constructor with ability to set elements of the matrix. | |
Matrix3DF (float el00, float el01, float el02, float el03, float el10, float el11, float el12, float el13, float el20, float el21, float el22, float el23, float el30, float el31, float el32, float el33) | |
The constructor with ability to set elements of the matrix. | |
Matrix3DF (const Matrix3DF &)=default | |
The copy constructor. | |
Matrix3DF (Matrix3DF &&)=default | |
The move constructor. | |
Matrix3DF (const MbMatrix3D &m) | |
void | SetElement (uint j, uint i, float value) |
Assign a value to the matrix element. | |
float | GetElement (uint j, uint i) const |
Get an element of the matrix. | |
Vector3DF | GetAxisX () const |
Get the first row (the X-axis). | |
Vector3DF | GetAxisY () const |
Get the second row (the Y-axis). | |
Vector3DF | GetAxisZ () const |
Get the third row (the Z-axis). | |
void | SetOrigin (const Point3DF &origin) |
Set the fourth row (the origin of coordinates) | |
Point3DF | GetOrigin () const |
Give the fourth row (the origin of coordinates) | |
Matrix3DF & | Rotate (const Vector3DF &v, double angle) |
Rotate around an axis. | |
Matrix3DF & | Rotate (const Point3DF &p, const Vector3DF &dir, double angle) |
Rotate around axis by angle. | |
Matrix3DF & | Move (const Vector3DF &) |
Translate by a given vector. | |
Matrix3DF & | Scale (float) |
Scale by X, Y and Z. | |
float | GetScaleX () const |
Get scaling coefficient by X. | |
float | GetScaleY () const |
Get scaling coefficient by Y. | |
float | GetScaleZ () const |
Get scaling coefficient by Z. | |
Matrix3DF & | Multiply (const Matrix3DF &m) |
Multiply by a matrix. | |
Matrix3DF & | Adj () |
Transpose a matrix. | |
Matrix3DF & | Transform (const Matrix3DF &matr) |
Transform according to the given matrix. | |
bool | IsEqual (const Matrix3DF &) const |
Determine whether an object is equal? | |
const float * | GetPointer () const |
Get an elements pointer. | |
Matrix3DF & | operator= (const Matrix3DF &)=default |
Assign a value. | |
Matrix3DF & | operator= (Matrix3DF &&)=default |
Move a value. | |
Matrix3DF | operator* (const Matrix3DF &m) const |
Multiply by a matrix: M = this * m. | |
Matrix3DF & | operator*= (const Matrix3DF &m) |
Multiply by a matrix: this = this * m. | |
The matrix of transformation in a three-dimensional space.
The extended matrix of transformation in a three-dimensional space.
The extended matrix has dimension (4, 4) and is a regular matrix bordered below by a translation vector and by the null column to the right. The transformation of point "p" by the matrix "M" has the form: r = p * M (the row of coordinates is multiplied by the matrix to the left).
The transformation matrix from a local coordinate system can be obtained as follows:
the first row must be filled with the corresponding components of the first vector of a locale system, the second row must be filled with the corresponding components of the second vector of a local system, the third row must be filled with the corresponding components of the third vector of a locale system, the last row of the matrix must be filled with the corresponding coordinates of a local system origin.