Понимание матриц - вращение чтения - PullRequest
0 голосов
/ 05 марта 2012

Я пытаюсь узнать больше о матрицах. Если у меня 4x4 матрица, например:

0.005  0.978  -0.20 60.62
-0.98 -0.027  0.15  -18.942
-0.15 0.20    0.96  -287.13
0      0       0      1

Какая часть матрицы сообщает мне вращение, которое применяется к объекту? Я знаю, что столбец 4 - это положение объекта, а подозрительные строки 1,2 и 3 - это вращение x, y и z?

Заранее спасибо.

1 Ответ

1 голос
/ 05 марта 2012

Первые три столбца являются векторами направления в направлениях x, y, z, возможно, включая масштабирование объекта. Если вы представляете куб, вектор первого столбца указывает в направлении положительной x-грани куба, второй в направлении положительной y-грани и третий в направлении положительной z-грани .

Обратите внимание, что когда объектное масштабирование было применено к матрице (что, как кажется, не имеет место в вашем примере), эти векторы направления не нормализуются.

Но это не «вращение» в смысле угла Эйлера или вращения кватерниона. На самом деле вычисление любых углов из этой матрицы довольно сложно.

Вот несколько ссылок, объясняющих, как это сделать, но это связано с множеством проблем, и вам следует избегать этого, если это не является абсолютно необходимым:

http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToEuler/index.htm

http://www.euclideanspace.com/maths/geometry/rotations/conversions/quaternionToEuler/index.htm

...