3D 空间中的速度分量



我正在尝试计算从大炮发射的弹丸的x,y,z速度分量。我有大炮的大小(功率(和大炮的zRotation,yRotation,xRotate。zRotation,yRotation的计算很好,但我无法弄清楚如何解释第三个角度。谢谢。

PS:这些是我对打哈欠和俯仰速度的计算

cannon->magnitude * cosf(degToRads(cannon->zRotation)) * sinf(degToRads(cannon->yRotation)),
cannon->magnitude * sinf(degToRads(cannon->zRotation)),
cannon->magnitude * cosf(degToRads(cannon->zRotation)) *cosf(degToRads(cannon->yRotation)));

我对所有 3 个角度的尝试:

cannon->magnitude * sinf(degToRads(zAngle)) * cosf(degToRads(xAngle)) * cosf(degToRads(yAngle)),
cannon->magnitude * sinf(degToRads(zAngle)),
cannon->magnitude * cosf(degToRads(zAngle)) * cosf(degToRads(xAngle))* sinf(abs(degToRads(yAngle))));

如果没有指示角度如何定向的图表,也不知道单位,我不能 100% 确信我的答案会让您满意。

也就是说,如果你有三个角度,每个角度都与三个空间方向中的一个相关联,那么你可能正在处理类似于本网页上给出的"方向余弦"示例。如果是这种情况,那么您的速度矢量将由以下三个组件组成:

v_x=|v_initial|*cos(xAngle)
v_y=|v_initial|*cos(yAngle)
v_z=|v_initial|*cos(zAngle)