В .Net Framework 4.6.2 (и более ранних версиях) существует структура Matrix4x4
в пространстве имен System.Numerics
. Структура имеет свойство Translation
, которое, очевидно, используется для хранения поступательной части. Однако при использовании этого свойства он сохраняет значения в последней строке
Пример:
var test = Matrix4x4.CreateTranslation(new Vector3(1, 2, 3));
дает следующую матрицу:
1, 0,0, 0
0, 1, 0, 0
0, 0, 1, 0
1, 2, 3, 1
Но это должно быть
1, 0, 0, 1
0, 1, 0, 2
0, 0, 1, 3
0, 0, 0, 1
по моему мнению.
Это ошибка или я что-то совершенно не так понял?