В основном вам необходимо получить вектор направления между двумя точками (D), нормализовать его, и вы будете использовать его для получения новой точки в пути: NewPoint = PointA + D*Length
.
Вы можете использовать нормированную длину (0..1) или как абсолютное значение от 0 до длины вектора направления.
Здесь вы можете увидеть некоторые примеры использования обоих методов:
Используя абсолютное значение:
function getPointInBetweenByLen(pointA, pointB, length) {
var dir = pointB.clone().sub(pointA).normalize().multiplyScalar(length);
return pointA.clone().add(dir);
}
И использовать с процентом (0..1)
function getPointInBetweenByPerc(pointA, pointB, percentage) {
var dir = pointB.clone().sub(pointA);
var len = dir.length();
dir = dir.normalize().multiplyScalar(len*percentage);
return pointA.clone().add(dir);
}
Смотрите в действие: http://jsfiddle.net/0mgqa7te/
Надеюсь, что это поможет.
Много информации здесь: http://stackoverflow.com/questions/1250419/finding-points-on-a-line-with-a-given-distance – gaitat