2009-12-19 75 views
8

我知道線段上的起點和終點。對於這個例子來說,線段的距離爲5.現在我想知道離終點有三個距離的點。任何想法如何用數學來做到這一點?找到一條線上的點

開始點(0,0) 結束點(0,5)

點我想找到(0,2)

回答

22

如果你點(x1, y1)(x2, y2),和你想找到點(x3, y3)是從點2 n單位處:

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 
+0

+1抽出時間來回答 – Patrick 2009-12-19 21:54:56

+1

+1 - 小時後和試圖得到這個工作,我終於想起小時,「嘿,爲什麼不籤SO「。 30秒後,我有一個完全可行的解決方案。爲了我的目的,我在x3,y3計算中交換了x和y,以便它代表距起點的距離。 – Peter 2011-09-11 23:49:51