А смысл вот в чём. Рисуются на экране произвольно 2 отрезка. В случае, если отрезки пересекаются , точка персечения становится центром окружности , с радиусом (неважно каким).
Собственно проблема в том, как узнать пересекаются ли прямые, точнее как узнать координаты точки персечения. Поиском искал. Ничего толкового не нашел. Заранее спасибо.
А как задаются отрезки? Уравнением, координатами его концов?
Координатами его концов. Используя LineTo короче ..
Waiting 4 replay.
Спс..
Я конечно не специолист.. но мне кажется , что там отрезки задаются уравнением.. а мне нуна координатами..
Какие же уравнения? 4 точки, координаты x1, x2, x3, x4, y1, y2, y3, y4 - через них все выводится...
const(не забудь проверить принадлежность Ua, Ub интервалу, о чем говорится в статье...)
n = 4;
x: array[1 .. 4] of integer = (3, 5, 3, 6);
y: array[1 .. 4] of integer = (3, 7, 7, 1);
var
Z, Ua, Ub: real;
pX, pY: real;
begin
Z := (y[4]-y[3])*(x[2]-x[1]) - (x[4]-x[3])*(y[2]-y[1]);
Ua := ((x[4]-x[3])*(y[1]-y[3]) - (y[4]-y[3])*(x[1]-x[3]))/z;
{ Ub := ((x[2]-x[1])*(y[1]-y[3]) - (y[2]-y[1])*(x[1]-x[3]))/z; }
pX := x[1] + Ua*(x[2] - x[1]);
pY := y[1] + Ua*(y[2] - y[1]);
writeln('X = ', pX:10:5, ' ; Y = ', pY:10:5);
end.
Может мне кто-нибудь пояснить.. что ЭТО делает.. Что такое Х и У.. и вообще..
Учитывая, что всё, что у тебя есть - координаты концов отрезков, а всё, что тебе надо - координаты точки их пересечения, может быть ты сам догадаешься, что такое X и Y ? ;)
... нифига не понял, как найти точку пересечения, но всё равно спа... вот щас писал и понял спасибо