Расширенная матрица в двумерном пространстве MbMatrix

Класс MbMatrix объявлен в файле mb_matrix.h.

В двумерном пространстве матрица MbMatrix3D описывает преобразование из одной системы координат в другую. Матрица имеет размерность три на три. Пусть в выбранной системе координат построена локальная аффинная система координат с началом в точке r с координатами r1, r2 и базисными векторами a = [a1 a2], b = [b1 b2]. Векторы a и b не должны быть коллинеарными, но могут быть не ортогональными друг другу и иметь произвольную длину. Матрица MbMatrix преобразования координат из локальной системы в выбранную систему координат имеет вид:

\[ \text{M} = \begin{bmatrix} a_{1} & a_{2} & 0 \\ b_{1} & b_{2} & 0 \\ r_{1} & r_{2} & 1 \\ \end{bmatrix}. \]

Для обозначения расширенных матриц в двумерном пространстве будем использовать прописные буквы латинского алфавита, выделенные полужирным наклонным шрифтом, например M. Заметим, что каждому базисному вектору a, b и начальной точке r локальной системы координат соответствует своя строка в матрице преобразования из локальной системы в выбранную систему координат.

Матрица MbMatrix является расширенной и работает с однородными радиусами-векторами и однородными векторами MbHomogeneous в двумерном пространстве.

При преобразовании радиуса-вектора MbCartPoint по матрице MbMatrix точке следует добавить третью координату, равную единице. Пусть точка с координатами x1, x2 в локальной системе координат имеет координаты p1, p2 в выбранной системе координат, тогда при участии расширенной матрицы MbMatrix координаты будут связаны соотношением

\[\begin{split}\begin{bmatrix} p_{1} & p_{2} & 1 \end{bmatrix} = \begin{bmatrix} x_{1} & x_{2} & 1 \end{bmatrix} \cdot \begin{bmatrix} a_{1} & a_{2} & 0 \\ b_{1} & b_{2} & 0 \\ r_{1} & r_{2} & 1 \\ \end{bmatrix}\end{split}\]

Заметим, что двумерный радиус-вектор умножается на расширенную матрицу MbMatrix справа.

При преобразовании вектора MbVector по матрице MbMatrix вектору следует добавить третью компоненту, равную нулю. Пусть вектор с компонентами y1, y2 в локальной системе координат имеет компоненты r1, r2 в выбранной системе координат, тогда при участии расширенной матрицы MbMatrix компоненты будут связаны соотношением

\[ \begin{bmatrix} r_{1} & r_{2} & 0 \end{bmatrix} = \begin{bmatrix} y_{1} & y_{2} & 0 \end{bmatrix} \cdot \begin{bmatrix} a_{1} & a_{2} & 0 \\ b_{1} & b_{2} & 0 \\ r_{1} & r_{2} & 1 \\ \end{bmatrix}. \]

Заметим, что двумерный вектор умножается на расширенную матрицу MbMatrix справа.