У меня проблема (и решение тоже). Я хочу знать, как прийти к «этому» решению. «Это» решение идеально подходит и отлично работает для всех возможных комбинаций.Поиск ориентации точки относительно другой точки в плоскости xy
Предположим, что у вас есть 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
.
Может кто-нибудь, пожалуйста, помогите мне, как прийти к этому решению?
Привет Benhur, я не знаю, как вы предоставили (0, 90, 0) в качестве начальной точки. Мой вопрос касается только системы координат 2D (X-Y). –