2017-04-14 109 views
1

所以說我有兩條線從半徑到邊緣,其中一個是我的起點,另一個是終點。我需要找出我應該旋轉他們的方向以最快速度到達終點。 (這將通過添加和減去1的while循環來完成)。例如,假設我們有StartRotation = 45和EndRotation = 270,我需要數學算法來找出是否加上我們的減法(在這個例子中,我們將會減去,因爲圍繞45度到270度的圓周逆時針旋轉比明智的時鐘)。找到最快的方式圍繞一個圓圈?

(A附註:設置旋轉到-90,630,等...是一樣其設置爲270)

回答

1

可能的邏輯:

Normalize angles 

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

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

兩個角度是| SE |和360° - | S-E |。保持最小。

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

D給出了帶符號的幅度。