轻松将角度保持在-179至180度之间的方法

有没有一种简单的方法可以将角度(以度为单位)转换为-179至180?我确定我可以使用mod(%)和一些if语句,但是它变得难看:

//Make angle between 0 and 360

angle%=360;

//Make angle between -179 and 180

if (angle>180) angle-=360;

似乎应该有一个简单的数学运算可以同时执行两个语句。我可能现在只需要为转换创建一个静态方法。

回答:

我知道聚会晚了一点,但是…

这些答案大多数都不是好事,因为它们试图变得聪明而简洁,然后又不顾及边缘情况。

它有点冗长,但是如果您想使其工作,则只需输入使其工作的逻辑即可。不要试图变得聪明。

int normalizeAngle(int angle)

{

int newAngle =角度;

而(newAngle <= -180)newAngle + = 360;

而(newAngle> 180)newAngle-= 360;

返回newAngle;

}

这可以正常工作并且相当干净和简单,而不必花哨。请注意,只能运行零或while循环之一。

以上是 轻松将角度保持在-179至180度之间的方法 的全部内容, 来源链接: utcz.com/qa/429207.html

回到顶部