Имеем отрезок AB с координатам x1,y1 и x2, y2:
Необходимо найти координаты новой точки С, которая находится на отрезке, на определенном расстоянии от точки A.
$x1
, $y1
– координаты точки A,
$x2
, $y2
– координаты точки B,
$d
– расстояние от точки A до точки C.
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};
}