Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Определить взаиморасположение точки и прямой

01.01.2007
{Расчет нормали от точки до линии и расстояния от начала и до конца линии}
function Dfptl(key:byte;x,y,xn,yn,xk,yk:real):real;//Distance From Point To Line
Const r0=2*pi;r1=pi;r2=pi/2;r3=3*pi/4;r4=1e-4;
var
a,dx,dy:double;
begin
dx:=xk-xn;dy:=yk-yn;
if abs(dx)<r4 then begin if dy>0 then a:=r2 else a:=-r2;end else a:=arctan2(dy,dx);
 Case key of
 0://расстояние от точки до прямой; <0 - точка слева; >0 - точка справа
   Result:=(xn-x)*Sin(a)-(yn-y)*Cos(a);
 1://расстояние от точки до начала линии
   Result:=(x-xn)*Cos(a)+(y-yn)*Sin(a);
 2://проекция точки на направление прямой попадает на нее если Result=0
   Result:=(sqrt(sqr(dx)+sqr(dy))-Abs((xn-x)*Cos(a)+(yn-y)*Sin(a))-Abs((xk-x)*Cos(a)+(yk-y)*Sin(a)));
 3://расстояние от точки до конца линии
   Result:=(x-xk)*Cos(a)+(y-yk)*Sin(a);
 else result:=1e30;
 end;
if isZero(Result,r4) then Result:=0;
end;

Автор: Digar

Взято из https://forum.sources.ru