Автор Тема: определение пересеченности прямых...  (Прочитано 2836 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн xnx

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 192
  • +0/-0
  • 0
    • Просмотр профиля
есть координаты начала и конца двух отрезков, очень сильно хочется определить пересекаются они или нет.

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
определение пересеченности прямых...
« Ответ #1 : 08 Февраля 2003, 13:09:07 »
http://alglib.chat.ru/

Формально:
Первый отрезок: (x1(1),y1(1));(x2(1),y2(1)). Второй отрезок: (x1(2),y1(2));(x1(2),y1(2)). В результате может получится три варианта пересечения: точка, отрезок, пустое множество.
     Прямая содержащая i-й отрезок задается при помощи уравнений:
   x=x1(i)+t(i)(x2(i)-x1(i))
   y=y1(i)+t(i)(y2(i)-y1(i))
при этом точка на прямой принадлежит отрезку, если t лежит внутри отрезка [0,1]. Следовательно, пересечением отрезков будет точка если существует решение (t(1),t(2)) системы:
   t(1)(x2(1)-x1(1))+t(2)(x1(2)-x2(2))=x1(2)-x1(1)
   t(1)(y2(1)-y1(1))+t(2)(y1(2)-y2(2))=y1(2)-y1(1)

и при этом и t(1) и t(2) лежат в отрезке [0,1]. Если хотя бы одно из t(i) не удовлетворяет этому условию, то пересечением отрезков будет пустой множество.
AS IS...

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
определение пересеченности прямых...
« Ответ #2 : 08 Февраля 2003, 14:03:05 »
Яндекс рулит :)
Все болезни от нервов, только сифилис от удовольствия

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28