![]() 図1 点から直線に垂線を下す例題のグラフ |
Excel VBA 2007/2003/2002対応(できる大辞典) すぐに使える! Excel関数逆引き辞典 Excel VBA(ブイビーエー)辞典 |
| 図1のように、P点から直線に垂線を下ろします。 直線は2点(始点と終点)の座標(x、y)で表現できます。 直線の 始点(xs, ys)、 終点(xe,ye) とします。 P点は座標(xp,yp)で表現できます。 直線上の垂線の足、Q点の座標(xq,yq)が求めたい値となります。 |

直線の長さ(T)は始点(xs,ys)と終点(xe,ye)の座標より(1)式となる。 T = √( (xe-xs) 2 + (ye-ys)2 ) ・・・・・ (1) (ピタゴラスの定理(3平方の定理)です。) 直線の始点から終点への単位ベクトル(vx,vy)は (vx,vy) = ( (xe-xs)/T, (ye-ys)/T ) となる。 直線の始点(xs,ys)から距離 k にある直線上の点Q(xq,yq)は (xq,yq) = (xs,ys) + k(vx,vy) で表現できます。 P点とQ点間の距離(L)は(2)式となる。 L = √( (xq-xp) 2 + (yq-yp)2 ) ・・・・・ (2) |
P点を ( 2, 3)、直線の 始点(5,2)、終点(1,7)とします。 図3のように、直線の始点から距離( k ) =1 にある直線上の点Qををエクセルで求めます。 ![]() 図3 直線の始点から距離( k ) =1 にある直線上の点Qを求めたエクセルシート 図3より、Q点は垂線の足になりませんね。 それては、ソルバーを用い、P点とQ点間の距離(L)を最小にしましょう。 メニューバーのツール−ソルバーを選択すると、図4のソルバー:パラメータ設定画面が表示される。 変化させるセルを始点からの長さ(k)とし、目的セルを距離(L)に設定し、目標値を最小値に設定します。 ![]() 図4 ソルバー:パラメータ設定画面 図4のソルバーを実行ボタンをクリックすると、PQ間の距離が最小となり、図5のように、垂線の足が求まります。 ![]() 図5 垂線の足を求めるソルバーの実行結果 図5のグラフより、直線とPQ線は直角に交わっているようです。 |