Если у вас есть точка, которая определяется азимутальным углом (yaw
), высотным углом (pitch
) и расстоянием вдоль этого вектора направления, то вам нужно преобразовать азимутальный угол (yaw
)и высотный угол (pitch
) сначала для единичного вектора направления.
См. Солнечный зенитный угол , Азимут или Эйлеровы углы .
В системе координат, где ось x указывает влево, а ось z - вперед, а ось y является вектором вверх ( Левосторонняя система координат ), это можно рассчитать следующим образом:
x = sin(yaw) * cos(pitch)
y = sin(pitch)
z = cos(yaw) * cos(pitch)
где yaw
- угол по часовой стрелке между осью z и вектором к точке (проецируется на плоскость XZ).
Это направление необходимо умножить на расстояние доПроисхождение:
P = distance * (x, y, z);
или
Px = distance * sin(yaw) * cos(pitch)
Py = distance * sin(pitch)
Pz = distance * cos(yaw) * cos(pitch)