перемещение точки в трехмерном пространстве - PullRequest
0 голосов
/ 07 октября 2009

у меня точка на 0,0,0 Я поворачиваю точку на 30 градусов вокруг оси Y, затем на 30 градусов вокруг оси X. Затем я хочу сдвинуть точку на 10 единиц вперед.

Я знаю, как определить новую позицию X и Y

MovementX = cos(angle) * MoveDistance;
MovementY = sin(angle) * MoveDistance;

Но потом я понял, что эти значения изменятся из-за Z, не так ли?

Как мне отработать Z и правильно ли я отработал X и Y?

Спасибо!

1 Ответ

2 голосов
/ 07 октября 2009

Вы должны умножить координаты точки на полную матрицу вращения, которая равна matRotationTotal = matRotationX * matRotationY * matRotationZ. Проверьте эту статью для деталей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...