Можно попробовать использовать векторное произведение и его знак:
Цитата:
Векторным произведением A×B двух векторов A = (Ax, Ay) и B = (Bx, By) назовем число (!), равное Ax×By − Bx×Ay.
Если сопоставить данное нами определение векторного произведения с тем, которое дается в курсах аналитической геометрии (наше произведение оказывается z-координатой «стандартного»), то ответ на поставленный вопрос очевиден: если A×B > 0, то A надо поворачивать против часовой стрелки, если A×B < 0, то A надо поворачивать по часовой стрелке, если A×B = 0, то векторы либо сонаправлены, либо направлены в противоположные стороны.
|
Ну, т.е для двух соседних положений вычислять векторное произведение и смотреть на знак, только порядок множителей в произведении соблюдать. Можно также привлечь для проверок базисные вектора (вдоль координатных осей).
В контексте вопроса Ax,Ay - это x1,y1, Bx,By - x2,y2 соответственно.