我想比较角度并了解它们之间的距离。对于此应用程序,我正在以度数工作,但它也适用于弧度和梯度。角度的问题在于它们取决于模运算,即0-360度。
假设一个角度为15度,一个角度为45度。相差30度,并且45度角度大于15度的角度。
但是,当您有345度和30度时,这种情况就会分解。尽管它们可以正确比较,但是它们之间的差异是315度,而不是正确的45度。
我该如何解决?我可以编写算法代码:
if(angle1 > angle2) delta_theta = 360 - angle2 - angle1;
else delta_theta = angle2 - angle1;
但是我更喜欢一个避免比较/分支的解决方案,并且完全依靠算术。