Extended Matrix in Two-Dimensional Space MbMatrix
The MbMatrix class is declared in the mb_matrix.h file.
In a two-dimensional space, the MbMatrix matrix describes a transformation from one coordinate system to another. The matrix has the size three by three. Let a local affine coordinate system be constructed in the chosen coordinate system with the origin at the point r with coordinates r1, r2 and with the basis vectors a = [a1 a2], b = [b1 b2]. The vectors a and b must not be collinear, but they may be non-orthogonal to each other and may have arbitrary lengths. The MbMatrix matrix of the coordinate transformation from the local system to the chosen coordinate system has the form:
To denote extended matrices in the two-dimensional space we will use uppercase Latin letters in bold italics, for example M. Note that each basis vector a, b and the origin point r of the local coordinate system correspond to their own row in the transformation matrix from the local system to the chosen coordinate system.
The MbMatrix matrix is extended and works with homogeneous radius vectors and homogeneous vectors MbHomogeneous in a two-dimensional space.
When transforming a MbCartPoint radius vector by the MbMatrix matrix, a third coordinate equal to one must be added to the point. Let a point with coordinates x1, x2 in the local coordinate system have coordinates p1, p2 in the chosen coordinate system, then with the extended MbMatrix matrix the coordinates are related by
Note that a two-dimensional radius vector is multiplied by the extended MbMatrix matrix on the right.
When transforming an MbVector vector by the MbMatrix matrix, a third component equal to zero must be added to the vector. Let a vector with components y1, y2 in the local coordinate system have components r1, r2 in the chosen coordinate system, then with the extended MbMatrix matrix the components are related by
Note that a two-dimensional vector is multiplied by the extended MbMatrix matrix on the right.