IndexSoftwareCoding memoMisc.BBSLinkContact

点と直線の距離(3次元)

2005/12/15

左図のように点pと,点aを通り方向ベクトルがdaの直線 lとの距離を考えます.

直線 l 上に点qをとります.ql 上なので,パラメータsを用いて

q = a + s da

と書けます.|pq|が最小のときpqdaだから

pq・da = (q - p)・da
     = (a + s da - p)・da = 0 (・は内積記号)

です.これより

s = (-ada + pda) / (|da|^2)

と求まり,

q = a + s da

よりqが求まります.求める距離は|pq|です.