Помогите решить: "Дана точка A(x, y). Определить, принадлежит ли она прямоугольнику с вершинами в точках (x1, y1), (x2, y2), (x3, y3) , (x4, y4). "
Не могу сообразить с условием проверки. Язык не имеет значение, нужно условие проверки

Ответы

Ответ дал: alanik1
0
см. рисунок

находим k1, k2, b1, b2, b3, b4 как уравнения прямых, проходящих через пары заданных точек (если расположение неизвестно, то придется либо сначала сортировать точки, либо посчитать ещё и диагонали, а потом их исключить, как не имеющих параллельной пары с таким же k)

ba1 и ba2 как уравнения, прямых, проходящих через заданную точку и имеющих известные k.

коэффициенты b - это вертикальные смещения, по сути, поэтому точка принадлежит прямоугольнику, если смещения прямых через неё проходящих, находятся внутри диапазона смещений (между соответствующими параллельными прямыми).
Условие должно выполняться для первой И для второй пары.

Если надо учитывать ещё и когда точка лежит прямо на стороне, то "<" и ">" в условиях заменить на "<=" и ">=" соответственно.

случай когда прямоугольник не "повернут" - простой и можно учесть отдельно (чтоб не получались бесконечные k)
Приложения:
Вас заинтересует