algorithm - 在 0 和 360 度(或弧度-PI 和 PI)的边缘

标签 algorithm degrees radians

我在循环排斥处理中有一个小演示。 除了物体及其排斥器(鼠标)的那一刻外,它工作得很好 度数接近 360 | 0 区(或 PI | -PI )。

或 YouTube video

100% 是因为这个转变,但我不知道如何克服它。已经玩过模。

最佳答案

首先 - 我希望您不要在比较中混淆弧度和度数。

你的计算

 float angleDist = abs(angle - repulsor.angle);
   and later comparison with 
 inc=45 degrees
例如,如果一个角度为 359 而另一个角度为 1,则

会出错。

您可以构建一些 if 条件或使用表达式:

angleDist = arrcos(cos(angle - repulsor.angle)); 

正确处理所有情况

关于algorithm - 在 0 和 360 度(或弧度-PI 和 PI)的边缘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45380210/

相关文章:

c - 为什么该程序不起作用?

algorithm - 匹配算法

c - 在一次传递中从字符串解析 int 的算法

matlab - degtorad 与 MATLAB 中的 deg2rad?

r - 将弧度转换为度数/度数转换为弧度

java - 玩家对象向一个方向移动但转向不同的方向

python - 最长递增序列的最大值

algorithm - push relabel算法分析

latitude-longitude - 经纬度长到分和秒?

mongodb - 将公里转换为弧度