[1] 二直線
二直線 p1 = a1 + td1, p2 = a2 + td2 の成す角 θ は
θ = Cos-1 (|d1・d2|/|d1||d2|)
で定義される。 即ち 0 ≦ θ ≦ π/2 (= 90°) で, |d1・d2| = |d1||d2|cos θ.
この式の左辺の絶対値の意味は次の通りである:
二直線の成す角は基本的に方向ベクトル d1, d2
の成す角で良い。 ところが無反省にそのように定義すると, 図にみられるように, 二直線の成す角が π/2 < θ' ≦ π (= 180°) となってしまい,
普通二直線の成す角は 0 ≦ θ ≦ π/2 であるという直感に反する。
ところで上の図で θ + θ' = π 即ち θ' = π - θ なので cos θ' = cos(π - θ) = -cos θ. 即ちその単純且つ naïve な定義で起こる不都合は高々 cos の符号の違いでしか現れない。 又 0 ≦ θ ≦ π/2 では cos θ ≧ 0 であるから, |d1・d2| と絶対値をつけておけば cos θ ≧ 0 が保証されるわけである。
[2] 直線と平面
直線 p = a + td と平面 n・(p - b) = 0 の成す角 θ は
θ = Sin-1 (|d・n|/|d||n|) (= |Sin-1(d・n/|d||n|)|)
で定義される。 即ち 0 ≦ θ ≦ π/2 で, |d・n| = |d||n|sin θ.
絶対値がついている理由は [1] と同じであるが, sin になっている理由を説明しよう。 根本的な理由は, 直線の方向ベクトルは直線と平行だが, 平面の法線ベクトルは平面に垂直であるからこうなるのである。 平面と直線が平行の場合は, 平面の法線ベクトルもこの直線に垂直だから内積を採ると 0. この時 sin π/2 = 0 だから良い。 それ以外の場合, 即ち交わっている場合は, 必要なら平行移動して, 直線が p = td, 平面が n・p = 0 という形をしているとして良い。 更に |d| = |n| = 1 を仮定しても一般性を失わない (必要なら d ' = d/|d| &c. とすれば良い)。
この時 d1 = d - (d・n)n と 置くと, d1・n = d・n - (d・n)|n|2 = 0 であるから, d1 は平面 n・(p - b) = 0 上にある。 今この平面上にあり d1 と直交する単位ベクトルを d2 と置く。 さて, 今平面上の任意の点の位置ベクトルを p = cos φ d1 + sin φ d2 と置き, f(φ) = p・d と置こう。
この時定義より
θ = ∠(d, d1)
は明らかだから,
f(φ) = cos φ cos θ + sin φ d2・d
であるが, d, d1 の生成する平面と, d2 とは垂直であるから
f(φ) = cos φ cos θ
従って
cos θ = maxφ f(φ).
|p| = 1 より, f(φ) は p, d の成す角の cos を調べているので, θ は平面 n・(p - b) = 0 上のベクトルと直線 p = a + td の成す角の最小角を調べている事になる。 そして θ' = ∠(n, d) と置くと,
θ + θ' = π/2
より
cos θ' = cos(π/2 - θ) = sin θ
となる。
[3] 二平面
二平面
ni・(p - ai) = 0, i = 1, 2
の成す角 θ はそれらの法線ベクトルの成す角で定義される。 即ち
θ = Cos-1 (|n1・n2|/|n1||n2|).
絶対値がついている理由は, [1] の場合と完全に同様である。