Как получить 3D точку в моем пространстве с помощью Yaw, Pitch and Roll and len

Мне нужно вычислить 3D-точку в моем мировом пространстве, когда у меня есть шаг крена, рыскание, лен.

нужна функция, как это вернуть мне 3dpoint:

Get3DpointFrom_yaw_pitch_roll(yaw,pitch,roll,len)

Спасибо !

я пытаюсь этот код, но проблема в том, что, когда значение рыскания равно 0, у установит ноль!

 float x=0,y=0,z=0,r=30;float theta=0; float phi=0;

theta=-Camera_Yaw*3.1415/180;

phi=(3.1415/2)-(-Camera_Pitch*3.1415/180);

x = r*sin(theta)*cos(phi);
y = r*sin(theta)*sin(phi);
z = r*cos(theta);

1

Решение

Если у вас есть сферические координаты, преобразование просто дается

x = r*sin(theta)*cos(phi)
y = r*sin(theta)*sin(phi)
z = r*cos(theta)

Я не занимаюсь полетами, но если я правильно понимаю Википедию, то theta = yaw а также phi = pi/2-pitch, С другой стороны, угол крена не нужен, потому что, если вы ищете точку, вы можете поворачивать ее вокруг своей оси столько раз, сколько хотите, она не изменит ее координаты (другая история для твердого тела, конечно).

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]