Показать сообщение отдельно
Старый 05.03.2013, 13:19
Александр Мостовой вне форума Посмотреть профиль Отправить личное сообщение для Александр Мостовой Посетить домашнюю страницу Александр Мостовой Найти все сообщения от Александр Мостовой
  № 3  
Ответить с цитированием
Александр Мостовой
 
Аватар для Александр Мостовой

Регистрация: Sep 2001
Адрес: Харьков
Сообщений: 305
Отправить сообщение для Александр Мостовой с помощью ICQ Отправить сообщение для Александр Мостовой с помощью Skype™
Уравнение прямой проходящей через 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. Проделываете это для каждой стороны и как-только встречаете пересечение выходите из цикла



Если у вас случай где прямая горизонтальна, то все просто: смотрите что бы у координата была между верхней и нижней точкой многоугольника.
__________________
...