Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.03.2012, 18:08
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

Код:
function CollisionLine(LA1,LB1,LA2,LB2:Points):boolean;
var v1,v2,v3,v4:double;
begin
v1:=(lb2.X-la2.X)*(la1.y-la2.y)-(lb2.y-la2.y)*(la1.X-la2.X);
v2:=(lb2.X-la2.X)*(lb1.y-la2.y)-(lb2.y-la2.y)*(lb1.X-la2.X);
v3:=(lb1.X-la1.X)*(la2.y-la1.y)-(lb1.y-la1.y)*(la2.X-la1.X);
v4:=(lb1.X-la1.X)*(lb2.y-la1.y)-(lb1.y-la1.y)*(lb2.X-la1.X);
CollisionLine:=(v1*v2<0) and (v3*v4<0);

end;

где:
LA1,LB1 одна линия, соответственно LA2,LB2-вторая
Ответить с цитированием
Этот пользователь сказал Спасибо Pilot_Red за это полезное сообщение:
TennisAdept (12.06.2022)
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:59.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2026