我需要计算我的世界空间中的3d点,当我有滚动俯仰,偏航,len。
需要像这样的函数返回3dpoint:
Get3DpointFrom_yaw_pitch_roll(yaw,pitch,roll,len)
谢谢!
我尝试这个代码,但问题是当偏航值为0时,y将设置为零!
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);
答案 0 :(得分:1)
如果你有球面坐标,转换只是由
给出x = r*sin(theta)*cos(phi)
y = r*sin(theta)*sin(phi)
z = r*cos(theta)
我不参与航班业务,但如果我理解维基百科,那么theta = yaw
和phi = pi/2-pitch
。另一方面,不需要滚动角度,因为如果你寻找一个点,那么你可以根据需要沿着它的轴滚动它,它不会改变它的坐标(刚体的不同故事,当然)。