>>General sort of question:
>>
>>I'm drawing a compass and need to determine the 'shortest' direction in which to rotate the compass (clockwise or anti-clockwise) between old and new bearings (in degrees).
>>In most cases it is simple but when the old and new values span the 0 degree point those solutions don't work.....
>>
>>Anyone got a foolproof algorithm (language doesn't matter - just the logic)
>
>Possibility one : move1 = the difference between oldPos and newPos gives a distance and a direction
>
>The other possibility (move2) is to take the opposite direction, where the distance is 360 - abs(move1)
>
>Take the move with the minimum absolute value
May be being thick but I don't see how that works. Can you demonstrate with these examples:
Old New
350 2 (Should be clockwise)
10 190 (Doesn't matter)
20 190 (Clockwise)
10 350 (Anti-clockwise)
90 70 (Anti-clockwise)
5 190 (Anti-clockwise)
2 350 (Anti-clockwise)
I don't care about the length of the arc - just in which direction to move.
Previous
Next
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only