В настоящее время я пытаюсь преобразовать 2 угла в x, y, z, используя формулу из Matlab из Mathworks, Sph2Cart
http://www.mathworks.com/help/techdoc/ref/sph2cart.html
Алгоритм:
x = r .* cos(elevation) .* cos(azimuth)
y = r .* cos(elevation) .* sin(azimuth)
z = r .* sin(elevation)
In C++
clax = 1 * cos((Altitude/360)*(2*XM_PI)) * cos((Azimuth/360)*(2*XM_PI));
clay = 1 * sin((Altitude/360)*(2*XM_PI));
claz = 1 * cos((Altitude/360)*(2*XM_PI)) * sin((Azimuth/360)*(2*XM_PI));
Но независимо от того, что такое высота и азимут, клаксу, глине и клазу соответствует либо 0, либо 1.
Я уверен, что я сделал ошибку, и я буду смеяться после этого, насколько я был глуп. Но на самом деле я понятия не имею, почему это не работает, почему значения дают только 1 или 0 для каждого из них...
double
и вы делите на 360.) и 2) убедитесь, что ваши аргументы для триггерных функций указаны в радианах, а не в градусах - person K. Brafford   schedule 12.08.2012