找到一个圆圈最快的方式?

时间:2017-04-14 07:16:07

标签: geometry

所以说我有两条线从半径到边缘,其中一条是我的起点,另一条是终点。我需要找出我应该将它们旋转到哪个方向以最快地到达终点。 (这将通过while循环添加和减去1来完成)。比如说我们有StartRotation = 45和EndRotation = 270,我需要数学算法来找出是否加上我们的减法(在例子中我们将减去因为逆时针绕45圈到270度的圆圈比明智的去了。)

(附注:将旋转设置为-90,630等...与将其设置为270相同)

2 个答案:

答案 0 :(得分:1)

可能的逻辑:

Normalize angles

if Start < End
   Direction = 1
else
   Direction =  - 1

if Abs(Start - End) > 180
   Direction = - Direction

答案 1 :(得分:0)

两个角度是| S-E |和360° - | S-E |。保持最小。

D= S - E
if D > 0:
  if D > 180:
    D-= 360
else:
  if D < -180:
    D+= 360

D给出有符号的幅度。