Пересечение линий и прямоугольников - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть прямоугольник и отрезок внутри прямоугольника, и линию можно удлинить с обеих сторон.Я знаю координаты четырех вершин прямоугольника, а также две вершины линии.

Я пытаюсь написать функцию, которая бы возвращала координаты двух точек пересечения отрезка и прямоугольника.Я использую язык Python.Проблема в том, что я не уверен, с какой стороны прямоугольника будет пересекаться линия.Так что это делает мою функцию чрезвычайно сложной, и я не уверен, охватил ли я все случаи или нет.

Есть ли алгоритм для меня, чтобы сделать это?

1 Ответ

0 голосов
/ 22 ноября 2018

Ваш прямоугольник можно охарактеризовать как xmin, xmax, ymin и ymax.Найдите уравнение вашей линии (см. this ).Затем решите свою линию для каждого из xmin, xmax, ymin и ymax.Устранить решения, которые имеют x < xmin или x > xmax или y < ymin или y > ymax.

...