注意:我正在使用 Lua。
所以,我试图找出圆上两点之间的度数。问题在 340 到 20 之间,正确答案是 40 度,但是做类似的事情
function FindLeastDegrees(s, f)
return ((f - s+ 360) % 360)
end
print(FindLeastDegrees(60, 260))
-- S = Start, F = Finish (In degrees)
除了试图找出两者之间的距离外,它适用于所有情况。下面的代码是我下一次失败的尝试。
function FindLeastDegrees(s, f)
local x = 0
if math.abs(s-f) <= 180 then
x = math.abs(s-f)
else
x = math.abs(f-s)
end
return x
end
print(FindLeastDegrees(60, 260))
然后我尝试了:
function FindLeastDegrees(s, f)
s = ((s % 360) >= 0) and (s % 360) or 360 - (s % 360);
f = ((f % 360) >= 0) and (f % 360) or 360 - (f % 360);
return math.abs(s - f)
end
print(FindLeastDegrees(60, 350))
--> 290 (Should be 70)
所以失败了。:/
那么如何找到其他两个度数之间的最短度数,然后是顺时针还是逆时针(加或减)才能到达那里。我完全糊涂了。
我正在尝试做的一些例子......
FindLeastDegrees(60, 350)
--> 70
FindLeastDegrees(-360, 10)
--> 10
这似乎很难!我知道我将不得不使用...
- 模数
- 绝对值?
如果我应该添加或减去以获得值“完成”,我也希望它返回。
抱歉,描述太长了,我想你可能已经明白了....:/