点 A(a,0,0),B(0,b,0),C(0,0,1),D(a,b,1)(a>0,b>0)とする。直線 CD 上の点は d=CD=(a,b,0) を方向ベクトルとして,実数 t を用いて P(t)=C+td=(ta,tb,1) と媒介変数表示できる(t=0 で C,t=1 で D)。
(1) 点 A から下ろした垂線の足を G=P(t) とすると,条件は AG⋅d=0. AG=G−A=(ta−a, tb, 1)=(a(t−1), bt, 1) であるから AG⋅d=a⋅a(t−1)+b⋅bt+0⋅1=(a2+b2)t−a2=0. a2+b2>0 なので t=a2+b2a2. a>0, b>0 より 0<t<1 となり,たしかに G は線分 CD 上にある(垂線の足が線分内に落ちることを確認)。よって G=(a2+b2a3, a2+b2a2b, 1).
(2) 同様に,点 B から下ろした垂線の足を H=P(s) とすると, BH=(sa, sb−b, 1)=(sa, b(s−1), 1), BH⋅d=a2s+b2(s−1)=(a2+b2)s−b2=0 したがって 0<s=a2+b2b2<1. よって H=(a2+b2ab2, a2+b2b3, 1).
以下 k=a2+b21 とおく。(1)の結果から AG=G−A=(−ab2k, a2bk, 1), BH=H−B=(ab2k, −a2bk, 1). (x,y 成分が互いに符号違いで,z 成分がともに 1 である点に注意する。)
この内積は AG⋅BH=(−ab2k)(ab2k)+(a2bk)(−a2bk)+1⋅1=−a2b2k2(a2+b2)+1=−a2b2k+1=a2+b2a2+b2−a2b2. (k2(a2+b2)=k を用いた。)
また,どちらのベクトルも x,y 成分の絶対値の組が同じなので大きさは等しく, ∣AG∣2=∣BH∣2=(ab2k)2+(a2bk)2+12=a2b2k2(a2+b2)+1=a2b2k+1=a2+b2a2b2+a2+b2. a,bは正なのでこの値も正であり AG,BH はいずれも零ベクトルでなく,なす角 θ が定まる。したがって cosθ=∣AG∣∣BH∣AG⋅BH=a2+b2a2b2+a2+b2a2+b2a2+b2−a2b2=a2+b2+a2b2a2+b2−a2b2.
検算. a=b=1 のとき,直接座標計算では G=H=(21,21,1),AG=(−21,21,1),BH=(21,−21,1) となり,内積 =21,各ノルムの2乗 =23 より cosθ=3/21/2=31。上の公式に a=b=1 を代入すると 1+1+11+1−1=31 となり一致する。さらに a=1, b=2 でも同様に直接計算すると cosθ=91 となり,公式 1+4+41+4−4=91 と一致することを確認した。