轻松将角度保持在-179至180度之间的方法
有没有一种简单的方法可以将角度(以度为单位)转换为-179至180?我确定我可以使用mod(%)和一些if语句,但是它变得难看:
//Make angle between 0 and 360angle%=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