Top.Mail.Ru
Ответы
Аватар пользователя
11лет
Изменено

Перемещение в трёхмерном пространстве

В плоскости для движения при известном угле можно пользоваться x = cos(angle) * distance и y = sin(angle) * distance, а как быть в трёхмерном пространстве, когда известны углы pitch (тангаж) и yaw (рыскание), а roll (крен) всегда нулевой?

По дате
По рейтингу
Аватар пользователя
11лет

Здесь есть всё, что тебе нужно - http://www.gamedev.ru/code/articles/faq_matrix_quat

Аватар пользователя
Мыслитель
11лет

тангаж, рыскание, крен - это движение в связанной системе координат. Если нужно вычислить положение тела в неподвижной СК, то нужно интегрировать скорость от начальной точки.
Тангаж определеляет высоту z = интеграл от V(t) sin(pitch(t)) dt
Рысканье определяет положение в горизонтальной плоскости.
Проекция скорости на горизонталь Vгор = V(t) cos(pitch(t))
а дальше множим их на синус / косинус курса и получаем проекции на оси:
x = интеграл от V(t) cos(pitch(t)) * cos(yaw(t)) dt,
y = интеграл от V(t) cos(pitch(t)) * sin(yaw(t)) dt,

Аватар пользователя
Оракул
11лет

ну, точно также и применяй формулу для третьей координаты



Видео по теме