1. прямая линия. уравнение вида y(x)=kx+b
2. два параметра, две заданных точки
y1=k*x1+b
y2=k*x2+b
|
Есть исключение-вертикальная линия
С точки зрения матаматики более точно было бы ax+by+c=0
Получаются 2 уравнения с 3 неизвестными, но они решаются.
Второй вариант-сделать вектор из первой точки во вторую.
Процедура даёт координаты точки(тебе ведь точка нужна?) на векторе, на расстоянии K от x1,y1
procedure xy_point(x1,y1,x2,y2,k:integer);
var L,mn:real;
x,y:real;
begin
//находим длину вектора
L:=sqrt(sqr(x1-x2)+sqr(y1-y2));
//смотрим во сколько раз длина больше нужной
mn:=K/L;
x:=x1+(x2-x1)*mn;
y:=y1+(y2-y1)*mn;
//х и у - координаты точки, делай с ними что хочешь)
end;
Инструкция: запусти несколько раз, увеличивая k - точка полетит от x1,y1 до (и дальше тоже) x2,y2. При отрицательном К полетит в другую сторону.