Вращение вокруг Z из нескошенной аффинной ортогональной проекционной матрицы - PullRequest
0 голосов
/ 04 мая 2011

Кажется, я не могу найти ответ на то, что, по моему мнению, должно быть довольно простой задачей.

Я пытаюсь получить z-вращение матрицы, которая представляет масштаб, преобразование и вращение.ортогональной проекции, которая всегда смотрит на Z. Просто вращение вокруг Z.

Я понимаю, что не может быть решения, которое покрывает 100% использования (неаффинное, наклонное и т. д.), но я простонужен один для этого случая.

Цель состоит в том, чтобы заставить что-то еще работать (просто нужно пометить эту часть сейчас) в простом средстве просмотра CAD.

1 Ответ

0 голосов
/ 04 мая 2011

Итак, первая и вторая строки матрицы - это боковые и восходящие векторы (соответственно)

При условии, что вектор вверх будет направлен вверх (без вращения по оси z), а боковой вектор будет указыватьсправа вы можете определить угол между ожидаемым (то есть не свернутым) вектором и вектором, который у вас есть.Это просто результат вызова

float angle = acosf( DotProduct( identityUp, actualUp ) );
...