Yaw Pitch Length преобразовать в XYZ

262
29 апреля 2021, 15:50

У меня есть 3д вектор который хранит в себе Yaw, Pitch, Length... Length - длинна линии...как можно преобразовать YPL вектор в XYZ вектор?у меня удачно удавалось конвертировать XYZ в YPL,поэтому я вполне уверен что существует и обратный процесс...

Answer 1

Эта операция, которую Вы ищите - перевод из сферической системы координат в прямоугольную(декартову) систему координат. На картинке ниже так же присутствуют обозначения для цилиндрической системы координат, они отмечены синим цветом.

Формула для этой операции выглядит вот так:

X = L * sin(Pi-P) * cos(Y)
Y = L * cos(Pi-P)
Z = L * sin(Pi-P) * sin(Y)

Формула обратного перехода будет такая:

L = sqrt(X*X + Y*Y + Z*Z)
P = Pi - atan(sqrt(X*X + Y*Y)/Z)
Y = atan(Y/X)

PS: Если Вы посмотрите формулы на вики, там не будет вычитания из PI, это связано с тем что в сферической системе координат угол места(pitch) откладывается от оси Z а не от плоскости XY, это можно наблюдать на картинке выше.

READ ALSO
Почему у меня тормозит отрисовка большого количества объектов opengl на телефоне?

Почему у меня тормозит отрисовка большого количества объектов opengl на телефоне?

При отрисовке 3000 вершин телефон уже начинает тормозить

106
Как отображать штрихкоды в матричной структуре?

Как отображать штрихкоды в матричной структуре?

Как отображать разные штрихкоды в нескольких столбцах на одной PDF-странице, используя iText? Допустим, нужно отобразить 12 штрихкодов в трех...

77
Подключение ojdbc

Подключение ojdbc

Не могу подключить драйверСкачал файл ojdbc8

112
Возвращаемый класс функции dll

Возвращаемый класс функции dll

Я обращаюсь к dll-функциям из java с помощью jnaПроблема заключается в том, что я не знаю, что должна возвращать функция

104