質問: 3次元の直線と座標が最短距離となる直線の座標とは? 先日、質問では2次元の直線と座標が最短距離となる直線の座標を質問させていただきました。 今度は (1)3次元での直線※と任意の(2)座標(x1、y1、z1)があります。 (1)直線と(2)座標が最短距離となる直線上の座標を計算方法を教えて頂ければ幸いです。 ※(x、y、z)=(0,0,0)~(1,1,1)の対角線
回答: 添付図にあるように直交する時に最短とわかっているのですから、その条件を内積の式で表せばokです。 p=(x1、y1、z1)とします。また「(x、y、z)=(0,0,0)~(1,1,1)の対角線」上の点をqとします。qの式は、「(0,0,0)~(1,1,1)の対角線」は、(1,1,1)方向に進むベクトルなので、e=(1,1,1),q0=(0,0,0)とすれば、 q=q0+ke (1) と書けます。ここでkは任意の実数で、以後±はベクトルの加減の意味で使います。pからqへ引いたベクトルは、 q-p=q0+ke-p=ke-p (q0=0を使用) これが直線の方位eと直交すれば良いので、 e・(ke-p)=k(e・e)-e・p=0 です。・は、ベクトルの内積を表します。eもpも既知ですから、kは、 k=(e・p)/(e・e) (2) と決まります。後は(1)に戻り、(2)で計算されたkを(1)に代入し、qとして垂線の足(最短距離となる直線上の座標)を求めます。