DLi*_*iKS 2 math trigonometry angle
我目前正在使用“Pi - 角度”在 Y 轴上反映一个角度。我使用的角度系统是弧度,0 是东,-Pi/2 是北,Pi/2 是南,+/- Pi 是西,当我尝试使用上述方法来反映一个角度时,它经常返回高于 Pi、超出范围的值。我怎样才能防止这种情况发生?
谢谢,
德利克斯
关于 x 轴的反射:只需使用-angle.
关于 y 轴的反射:使用
if (angle >= 0)
return pi - angle
else
return -pi - angle
Run Code Online (Sandbox Code Playgroud)
这会在 0 处创建分支切割:3° 映射到 177°,而 -3° 映射到 -177°。0 映射到 pi。(如果您需要排除 +pi 的 [-pi,pi) 区间中的角度,请将 ">=" 更改为 ">"。
这也假设输入角度在 [-pi,pi] 范围内,正如您的问题陈述所暗示的那样。如果没有,您需要先使用对称模 2*pi(其中smod(x,M) = mod(x+M/2,M) - M/2)进行归一化。