» Главная
eXcode.ru » Статьи » Алгоритмы » Геометрия
» Новости
» Опросы
» Файлы
» Журнал



Пользователей: 0
Гостей: 11





Картины с кристаллами сваровски

Адреса точек продаж. Интернет-магазин подарков.

eurosuvenir.ru




Нахождение точки пересечения двух отрезков





{
Программа, которая находит точку пересечения двух
отрезков на плоскости, заданных парами координат.

Для Borland Pascal 7.0
Olegis, 02.2005
}

var
x1,y1,x2,y2,x3,y3,x4,y4: real;
buf: text;

procedure inp;
begin
assign(buf, ′input.txt′); reset(buf);
readln(buf, x1, y1, x2, y2);
readln(buf, x3, y3, x4, y4);
close(buf);
end;

procedure outp(param: shortint; xp, yp: real);
begin
assign(buf, ′output.txt′); rewrite(buf);
case param of
-1: write(buf, ′otrezki ne peresekayutca′);
0: write(buf, ′otrezki kollinearny′);
1: write(buf, xp:0:3, ′ ′,yp:0:3);
end;
close(buf);
halt;
end;

procedure solve;
var a,b,c,d,e,f,
dt,ds,det,t,s: real;
begin
a:=x2-x1;
b:=x3-x4;
c:=x3-x1;
d:=y2-y1;
e:=y3-y4;
f:=y3-y1;

det:=a*e-b*d; if det=0 then outp(0,0,0);
dt:=c*e-f*b;
ds:=a*f-c*d;
t:=dt/det;
s:=ds/det;

if (0<=s) and (s<=1)
and(0<=t) and (t<=1) then
outp(1, x1*(1-t)+x2*t, y1*(1-t)+y2*t)
else outp(-1,0,0);
end;

BEGIN
inp;
solve;
END.
К началу статьи





Добавил: LedWormДата публикации: 2005-05-30 22:36:35
Рейтинг статьи:5.00 [Голосов 2]Кол-во просмотров: 11417

Комментарии читателей

Всего комментариев: 2

2011-05-10 05:59:51
Дима
Попробовал вставить в свою программу. Попробую. Коли не забуду - напишу, как прошло.

2005-12-13 16:31:54
romodos
Чётко, кратко, стильно. Просто математика какая-то.
Ваше имя: *
Текст записи: *
Имя:

Пароль:



Регистрация

На каком хостинге расположен ваш сайт?
На платном зарубежном
5% (6)
На платном российском
14% (19)
На народе
15% (20)
На халявном с пхп и перлом
21% (28)
На localhost :)
18% (24)
А хостинг это че-то типа пудинга?
5% (6)
У меня нет сайта :(
23% (30)

Проголосовало: 133
Выдержка из лекций компьютерных курсов. Изучают DOS и Norton Commander. Дословно: Запуск команды NORTON. Если запуск команды NORTON не включен в команду автозапуска, либо в процессе работы осуществлялся выход программы NORTON, то запустить ее можно с помощью посредства nc.exe - это запускающий файл программы NORTON, находится он в каталоге NC, где собрана вся программа.
Рейтинг: 8/10 (2)
Посмотреть все анекдоты

 
eXcode.ru » Статьи » Алгоритмы » Геометрия