Нахождение точки на прямой - PullRequest
       15

Нахождение точки на прямой

9 голосов
/ 20 декабря 2009

Я знаю начальную и конечную точки на отрезке. Для этого примера скажем, что отрезок линии имеет расстояние 5. Теперь я хочу знать точку, которая имеет расстояние три от конечной точки. Любая идея, как это сделать с математикой?

Начальная точка (0,0) Конечная точка (0,5)

Точку, которую я хочу найти (0,2)

1 Ответ

27 голосов
/ 20 декабря 2009

Если ваши точки (x1, y1) и (x2, y2), и вы хотите найти точку (x3, y3), которая находится на n единицах от точки 2:

d = sqrt((x2-x1)^2 + (y2 - y1)^2) #distance
r = n / d #segment ratio

x3 = r * x2 + (1 - r) * x1 #find point that divides the segment
y3 = r * y2 + (1 - r) * y1 #into the ratio (1-r):r
...