05.03.2013, 13:19
|
|
Регистрация: Sep 2001
Адрес: Харьков
Сообщений: 305
|
Уравнение прямой проходящей через 2 точки
A(x2 -x2) + B(y2- y1) = 0
У вас есть:
1. уравнение прямой
2. Координаты точек вершин многоугольника
из них не сложно получить уравнение строн прмоугольника.
Для того что бы найти пересекаются ли прямые нужно приравнять 2 уравнения прямой
A1(x2 -x2) + B1(y2- y1) = A2(xi -xj) + B2(yi- yj)
3. Находите точки пересечения каждой из сторон прямоугольника и проверяете что бы эта точка попадала в на отрезок прямой входящий в сторну многоугольника (т.е между вершинами, а не где-то в бесконечности)
4. Проделываете это для каждой стороны и как-только встречаете пересечение выходите из цикла
Если у вас случай где прямая горизонтальна, то все просто: смотрите что бы у координата была между верхней и нижней точкой многоугольника.
__________________
...
|