У меня есть проблема (и решение тоже). Я хочу знать, как прийти к такому решению. «Это» решение идеально подходит и отлично работает для всех возможных комбинаций.
Предположим, что у вас есть 3 точки в системе координат XY: P1(x1, y1)
, P2(x2, y2)
и P3(x3, y3)
.
Теперь соедините точку P2 с P3. Это приведет к «лучу», исходящему из точки P2 и проходящему через точку P3. Я использовал слово ray , потому что я хочу, чтобы оно было только в одном направлении, то есть от P2 до P3.
Теперь, относительно точки P1, луч P2 --> P3
в направлении по часовой стрелке или против часовой стрелки?
Решение:
Используйте следующие формулы, чтобы найти значение z1:
z1 = (x3 - x1)(y2 - y1) - (y3 - y1)(x2 - x1)
Если z1
положительно, P2 --> P3
по часовой стрелке. Если z1
отрицательно, P2 --> P3
против часовой стрелки. И если оно равно 0, точки находятся на одной воображаемой линии, простирающейся от P1
.
Может кто-нибудь помочь мне, как прийти к этому решению?