Имеем отрезок AB с координатам x1,y1 и x2, y2:
Необходимо найти координаты новой точки С, которая находится на отрезке, на определенном расстоянии от точки A.
$x1, $y1 – координаты точки A,
$x2, $y2 – координаты точки B,
$d – расстояние от точки A до точки C.
function pointToLine($x1, $y1, $x2, $y2, $d)
{
$Rab = sqrt(pow($x2 - $x1, 2) + pow($y2 - $y1, 2));
$k = $d / $Rab;
$Xc = $x1 + ($x2 - $x1) * $k;
$Yc = $y1 + ($y2 - $y1) * $k;
return array('x' => $Xc, 'y' => $Yc);
}
function pointToLine(x1, y1, x2, y2, d)
{
var Rab = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));
var k = d / Rab;
var Xc = x1 + (x2 - x1) * k;
var Yc = y1 + (y2 - y1) * k;
return {x: Xc, y: Yc};
}





