Ответ 1
это с умножениями матриц, которые мы создаем нашими преобразованиями
Вот почему нам нужны квадратные матрицы.
Предположим, что мы сделали то, что вы предлагаете, и использовали матрицы 2x3 для наших преобразований.
Тогда поворот будет
( x1, x2, 0 )
( y1, y2, 0 )
и перевод будет
( 1, 0, tx )
( 0, 1, ty )
и мы могли бы выполнять либо вращения, либо переводы, умножая нашу матрицу на вектор столбца, представляющий точку:
( x )
M ( y )
( 0 )
чтобы получить правильные ответы.
Однако - как бы мы переходили к составлению? Действительно, для вашего "для перевода с переводом + перевод у меня есть такая матрица", как вы дошли до этой матрицы? Конечно, в этом случае вы можете просто написать это, но в целом? Ну, вы знаете ответ:
это с умножениями матриц, которые мы создаем нашими преобразованиями
Таким образом, должно быть возможно умножить две матрицы преобразования, чтобы дать другую матрицу преобразования. И правила умножения матриц показывают, что это:
( . . . ) ( . . . )
( . . . ) ( . . . ) = ???
не является допустимой матричной матрицей. Нам нужны матрицы, которые могут быть умножены для того, чтобы наши преобразования были составными. Итак, у нас есть эта дополнительная строка.
Теперь, как я выразился здесь, на самом деле полностью отстает от стандартного математического представления, в котором знакомые преобразования вращения и трансляции являются лишь частными случаями полной мощности однородных преобразований координат на проективной плоскости - но я думаю, что это будет сделано, чтобы показать вам, почему нам нужна эта дополнительная строка - чтобы сделать квадрат матрицы и, следовательно, можно умножить на подобные матрицы.