Допустим, вы дали 2 балла A, B и хотите знать, в какой полуплоскости находится третья точка C.Термины «ниже» и «выше» в качестве критериев очень расплывчаты, поэтому вам нужен ориентир, например, источник.Просто убедитесь, что эта контрольная точка не коллинеарна с A и B.
Теперь у вас есть треугольник (A, B, C).Используя определитель, вы можете вычислить область со знаком ( см. Здесь или здесь ).Единственное, что здесь интересно, это запомнить знак.
Следующий шаг: для заданной точки D вычислите область треугольника со знаком (A, B, D).Если результат имеет тот же знак, что и область вашего контрольного треугольника -> C и D находятся на одной стороне от (A, B).Если знак отличается -> C и D лежат на противоположных сторонах линии.Если площадь (A, B, D) равна 0, то A, B и D коллинеарны.Примечание: используйте встроенный Python cmp
для сравнения областей треугольника.