Как получить новый вектор направления камеры при перемещении произвольного относительного угла

StackOverflow https://stackoverflow.com//questions/24019950

Вопрос

Я реализую класс камеры и застрял с некоторыми вещами

Давайте предположим, что камера находится в точке (0,0,0), глядя на определенное направление со своими соответствующими и правыми векторами.

У меня есть управление джойстиком, которое позволяет вам идти вперед назад или изменить ориентацию путем перемещения (левого правого) или (вверх-вниз), согласно вышеупомянутым векторами.

Как я могу узнать, учитывая 3 вектора, что является результирующим направлением вектора, если например, я хочу переместить N градусов прямо ??

Это было полезно?

Решение

Если вы говорите о вращении вашей камеры, вот как это сделано: каждое вращение представляет собой матрицу, которая преобразует координаты, поэтому все, что вам нужно сделать, это рассчитать матрицу вашего вращения, а затем применить его к Dir, вверхи правые векторы вашей камеры, чтобы получить новые после ротации.

Вот немного читает о матрицах вращения (прочитайте раздел 3D вращений): http://mathworld.wolfram.com/rotationmatrix.html

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top