学位范围(0-360)包围困境

时间:2010-01-14 11:25:33

标签: actionscript-3 trigonometry

我试图将X距离(图45)的度数从一定程度上捕获(图15)。我正被卷入360/0环绕。给定的度数均归一化为0-360。有人可以告诉我该怎么做吗?我已经附上一张图片,说明我缺乏能力。

我发誓迈克尔·杰克逊的坟墓上我在搜索之前搜索了谷歌和StackOverflow的答案。我意识到这可能是一个重复,但回答的那些不能被标记或命名得恰当。

alt text

3 个答案:

答案 0 :(得分:2)

15 + 45 = 60,所以你有那个方面,但15-45 = -30,所以你必须添加360,给330.

基本上,每次外出[0,360]时,我都会加上或减去360,我在那里使用a)作为开放范围。

如果你想编写测试来为你的标记着色为蓝色,比如说h是标题,o是偏移量,x是我们正在测试的标记,你正在寻找类似于c-ish伪代码的东西:

t=h-x
if (t>360) {t-=360}
if (t<0) {t+=360}
if (t<o) {mark blue}

答案 1 :(得分:1)

我不是100%肯定你想要实现的目标。我假设你想要的是:“对于X度,找到距离它最多Y度的所有度数,在每个标记之间给出Z度的步长。”

在这种情况下,只需将Z的增量写入从X-Y到X + Y的for循环。如果当前的度数值是&lt; 0然后只需添加360。

答案 2 :(得分:1)

为什么不简单地使用模运算?

deg = deg % 360