空間幾何学の問題は、最終的に「距離を求めよ」「角度を求めよ」に帰着することが非常に多いです。2直線間の距離、直線と平面のなす角、2平面のなす角(二面角)── これらはすべて内積という統一的な道具で攻略できます。ここでは各場面での公式を導出し、ベクトルの内積がいかに万能な計量ツールであるかを体感しましょう。
空間内の2直線のなす角とは、2直線を平行移動して交わらせたときにできる角のうち、$0°$ 以上 $90°$ 以下のものを指します。なぜ $90°$ 以下に限るのでしょうか。それは「2直線のなす角」が向きに依存しない量だからです。
方向ベクトル $\vec{d}_1$, $\vec{d}_2$ の内積の絶対値を使います。絶対値をとるのは、方向ベクトルの向きを逆にしても同じ直線だからです:
$$\cos\theta = \frac{|\vec{d}_1 \cdot \vec{d}_2|}{|\vec{d}_1||\vec{d}_2|} \quad (0° \le \theta \le 90°)$$
たとえば方向ベクトルが $\vec{d}_1 = (1, 2, -1)$、$\vec{d}_2 = (2, -1, 1)$ の2直線のなす角は:
$$\cos\theta = \frac{|2 - 2 - 1|}{\sqrt{6}\sqrt{6}} = \frac{1}{6}$$
よって $\theta = \cos^{-1}\dfrac{1}{6}$ です。
✗ $\cos\theta = \dfrac{\vec{d}_1 \cdot \vec{d}_2}{|\vec{d}_1||\vec{d}_2|}$ とそのまま計算して負の値が出た
○ 2直線のなす角は $0° \le \theta \le 90°$ なので、内積の値に絶対値をつける
方向ベクトルの向きの取り方で内積の符号は変わりますが、なす角は一意です。分子には必ず絶対値をつけましょう。
2直線が垂直のとき $\vec{d}_1 \cdot \vec{d}_2 = 0$、平行のとき $\vec{d}_1 = k\vec{d}_2$($k$ はスカラー)です。平行であることと一致することは別の概念であることに注意してください。
直線と平面のなす角 $\theta$ は、直線が平面に対してどれだけ傾いているかを表す角度で、$0° \le \theta \le 90°$ の範囲で定義されます。直線が平面上にあれば $\theta = 0°$、垂直なら $\theta = 90°$ です。
直線の方向ベクトル $\vec{d}$ と平面の法線ベクトル $\vec{n}$ のなす角を $\phi$ とすると、直線と平面のなす角 $\theta$ との間に $\theta = 90° - \phi$(ただし $\phi \le 90°$)の関係があります。
直線の方向ベクトル $\vec{d}$、平面の法線ベクトル $\vec{n}$ のとき:
$$\sin\theta = \frac{|\vec{d} \cdot \vec{n}|}{|\vec{d}||\vec{n}|} \quad (0° \le \theta \le 90°)$$
※ $\cos\phi = \dfrac{|\vec{d} \cdot \vec{n}|}{|\vec{d}||\vec{n}|}$ であり、$\theta = 90° - \phi$ なので $\sin\theta = \cos\phi$ が成り立ちます。
直線と平面のなす角 $\theta$ は、直線と法線のなす角 $\phi$ の余角($\theta + \phi = 90°$)です。だから $\sin\theta = \cos\phi$ となり、法線との内積($\cos\phi$ に対応)を計算すれば $\sin\theta$ が直接求まるのです。
✗ $\cos\theta = \dfrac{|\vec{d} \cdot \vec{n}|}{|\vec{d}||\vec{n}|}$ としてしまう
○ 法線との内積で求まるのは $\sin\theta$(余角の関係)
$\vec{d}$ と $\vec{n}$ は「直線の方向」と「平面に垂直な方向」なので、その内積から出るのは $\sin\theta$ です。$\cos$ と混同しやすいので、「法線 → $\sin$」と覚えましょう。
2つの平面が交わるとき、その交線に垂直な断面で測った角を二面角といいます。二面角は2平面の「開き具合」を表す量です。
2平面の法線ベクトルをそれぞれ $\vec{n}_1$、$\vec{n}_2$ とすると、法線同士のなす角が二面角と等しくなります(ただし鋭角側を取る場合は絶対値が必要です)。
法線ベクトル $\vec{n}_1$, $\vec{n}_2$ をもつ2平面のなす角 $\theta$($0° \le \theta \le 90°$)は:
$$\cos\theta = \frac{|\vec{n}_1 \cdot \vec{n}_2|}{|\vec{n}_1||\vec{n}_2|}$$
※ 法線の向きによっては $\vec{n}_1 \cdot \vec{n}_2$ が負になるため、$0° \le \theta \le 90°$ とするなら絶対値をつけます。
たとえば平面 $x + y + z = 1$ と $x - y = 0$ の二面角を求めてみましょう。法線ベクトルは $\vec{n}_1 = (1, 1, 1)$、$\vec{n}_2 = (1, -1, 0)$ なので:
$$\cos\theta = \frac{|1 - 1 + 0|}{\sqrt{3}\sqrt{2}} = 0$$
よって $\theta = 90°$ です。この2平面は直交しています。
✗ 二面角は常に法線のなす角と一致する
○ 法線のなす角は $0°$ から $180°$ をとるが、二面角は $0°$ から $180°$ の範囲で定義される
問題で「二面角を求めよ($0° \le \theta \le 180°$)」と指定されている場合は、絶対値をつけずに法線の向きに注意して計算します。「鋭角側」と指定されていれば絶対値をつけます。
大学の微分幾何学では、曲面同士のなす角は接平面の法線ベクトルで定義されます。ここで学んだ「法線同士の内積で角度を求める」手法は、平面に限らず曲面の接触角を計算する基礎となります。
空間では、平行でもなく交わりもしない2直線が存在します。これをねじれの位置にあるといいます。ねじれの位置の2直線間の距離は、入試でも頻出の重要テーマです。
ねじれの位置にある2直線 $\ell_1$、$\ell_2$ の距離とは、$\ell_1$ 上の点 $P$ と $\ell_2$ 上の点 $Q$ を動かしたときの $PQ$ の最小値です。この最小値は、両直線に共通に垂直な方向(共通垂線の方向)への正射影で求まります。
$\ell_1$ の方向ベクトル $\vec{d}_1$ と $\ell_2$ の方向ベクトル $\vec{d}_2$ の両方に垂直なベクトル $\vec{n} = \vec{d}_1 \times \vec{d}_2$ を考えます。$\ell_1$ 上の点 $A$ と $\ell_2$ 上の点 $B$ を結ぶベクトル $\overrightarrow{AB}$ を $\vec{n}$ 方向に射影した長さが距離です:
$$d = \frac{|\overrightarrow{AB} \cdot \vec{n}|}{|\vec{n}|} = \frac{|\overrightarrow{AB} \cdot (\vec{d}_1 \times \vec{d}_2)|}{|\vec{d}_1 \times \vec{d}_2|}$$
$\ell_1$ が点 $A$ を通り方向ベクトル $\vec{d}_1$、$\ell_2$ が点 $B$ を通り方向ベクトル $\vec{d}_2$ のとき:
$$d = \frac{|\overrightarrow{AB} \cdot (\vec{d}_1 \times \vec{d}_2)|}{|\vec{d}_1 \times \vec{d}_2|}$$
※ 高校範囲で外積を使わない場合は、$\vec{n}$ を「$\vec{d}_1 \cdot \vec{n} = 0$ かつ $\vec{d}_2 \cdot \vec{n} = 0$」の連立方程式で求めます。
高校の範囲では、次のような手順で求めることもできます:
✗ $A$, $B$ は特別な点(最近点)を見つけないといけない
○ 正射影を使う限り、$A$, $B$ はそれぞれの直線上のどの点でもよい
距離は「$\vec{n}$ 方向の成分」で決まるので、$\overrightarrow{AB}$ の $\vec{n}$ に垂直な成分($\vec{d}_1$, $\vec{d}_2$ 方向の成分)は結果に影響しません。計算しやすい点を選びましょう。
前の記事で学んだ点と平面の距離の公式は、さまざまな場面で威力を発揮します。ここでは応用的な使い方をいくつか見ていきましょう。
平行な2平面 $ax + by + cz + d_1 = 0$ と $ax + by + cz + d_2 = 0$ の距離は、一方の平面上の点から他方の平面への距離で求まります。
$$d = \frac{|d_1 - d_2|}{\sqrt{a^2 + b^2 + c^2}}$$
※ 2平面の $x, y, z$ の係数が揃っている(法線ベクトルが同一)場合の公式です。
直線が平面に平行なとき、直線と平面の距離は直線上の任意の点から平面への距離に等しいです。直線が平面と交われば距離は $0$ です。
ねじれの位置の2直線間の距離は、一方の直線と、他方の直線を含む平行な平面との距離として求めることもできます。$\ell_1$ の方向ベクトル $\vec{d}_1$ と $\ell_2$ の方向ベクトル $\vec{d}_2$ から、$\ell_2$ と $\vec{d}_1$ を含む平面 $\alpha$ を作り、$\ell_1$ 上の点から $\alpha$ への距離を計算する方法です。
空間における距離の問題は、すべて「ある方向への正射影の長さ」に帰着します:
・点と平面の距離 → 法線方向への正射影
・ねじれの位置の2直線間の距離 → 共通垂線方向への正射影
・平行な2平面間の距離 → 法線方向への正射影
内積 $\vec{a} \cdot \vec{b} = |\vec{a}||\vec{b}|\cos\theta$ が「正射影の長さ」を計算する道具だからこそ、ベクトルの内積はあらゆる距離計算に使えるのです。
ねじれの位置の2直線間の距離を「$\ell_1$ 上の点 $P(s)$ と $\ell_2$ 上の点 $Q(t)$ の距離 $|PQ|^2$ を $s, t$ の関数として最小化する」という方法でも求められます。$|PQ|^2$ は $s, t$ の2次関数になるので、偏微分(あるいは連立方程式)で最小値が求まります。大学の最適化理論の入口ともいえる考え方です。
Q1. 方向ベクトル $(1, 0, 1)$ と $(0, 1, 1)$ の2直線のなす角の余弦は?
Q2. 直線の方向ベクトル $(1, 1, 1)$ と平面の法線ベクトル $(1, -1, 0)$ のとき、直線と平面のなす角 $\theta$ について $\sin\theta$ の値は?
Q3. 平面 $x + y + z = 0$ と $x - y + z = 0$ の二面角は?
Q4. 平行な2平面 $x + 2y - 2z + 3 = 0$ と $x + 2y - 2z - 6 = 0$ の距離は?
Q5. 2直線がねじれの位置にあるとき、共通垂線の方向を $\vec{n}$ とすると、$\vec{n}$ はどのような条件を満たすか?
直線 $\ell: \dfrac{x-1}{2} = \dfrac{y}{1} = \dfrac{z+1}{-2}$ と平面 $\alpha: x + 2y + 2z - 3 = 0$ のなす角 $\theta$ を求めよ。
直線の方向ベクトルは $\vec{d} = (2, 1, -2)$、平面の法線ベクトルは $\vec{n} = (1, 2, 2)$。
$$\sin\theta = \frac{|\vec{d} \cdot \vec{n}|}{|\vec{d}||\vec{n}|} = \frac{|2 + 2 - 4|}{\sqrt{9}\sqrt{9}} = \frac{0}{9} = 0$$
よって $\theta = 0°$。直線 $\ell$ は平面 $\alpha$ に平行です。
平面 $\alpha: 2x + y - z + 1 = 0$ と平面 $\beta: x - y + z - 2 = 0$ について、
(1) 2平面のなす角(鋭角側)$\theta$ を求めよ。
(2) 2平面の交線 $\ell$ の方程式をパラメータ表示で求めよ。
(1) $\vec{n}_1 = (2, 1, -1)$、$\vec{n}_2 = (1, -1, 1)$
$$\cos\theta = \frac{|\vec{n}_1 \cdot \vec{n}_2|}{|\vec{n}_1||\vec{n}_2|} = \frac{|2 - 1 - 1|}{\sqrt{6}\sqrt{3}} = \frac{0}{\sqrt{18}} = 0$$
よって $\theta = 90°$。2平面は直交します。
(2) 連立方程式 $2x + y - z = -1$ と $x - y + z = 2$ を解く。
辺々加えて $3x = 1$ より $x = \dfrac{1}{3}$。
$y - z = -1 - 2 \cdot \dfrac{1}{3} = -\dfrac{5}{3}$ より $y = z - \dfrac{5}{3}$。
$z = t$ とおくと $x = \dfrac{1}{3}$, $y = t - \dfrac{5}{3}$, $z = t$。
よって交線は $\vec{r} = \left(\dfrac{1}{3},\; -\dfrac{5}{3},\; 0\right) + t(0, 1, 1)$。
直線 $\ell_1$ は点 $A(1, 0, 0)$ を通り方向ベクトル $(1, 1, 0)$ をもち、直線 $\ell_2$ は点 $B(0, 0, 1)$ を通り方向ベクトル $(0, 1, 1)$ をもつ。$\ell_1$ と $\ell_2$ の距離を求めよ。
$\vec{d}_1 = (1, 1, 0)$、$\vec{d}_2 = (0, 1, 1)$ に垂直なベクトル $\vec{n} = (a, b, c)$ を求める。
$a + b = 0$ かつ $b + c = 0$ より、$b = -a$、$c = a$。$a = 1$ とおくと $\vec{n} = (1, -1, 1)$。
$\overrightarrow{AB} = (-1, 0, 1)$ なので:
$$d = \frac{|\overrightarrow{AB} \cdot \vec{n}|}{|\vec{n}|} = \frac{|-1 + 0 + 1|}{\sqrt{3}} = \frac{0}{\sqrt{3}} = 0$$
距離が $0$ ということは、2直線は交わります。実際に $A + s\vec{d}_1 = B + t\vec{d}_2$ を解くと $s = 0, t = -1$ で交点 $(1, 0, 0)$ を得ます($B + (-1)\vec{d}_2 = (0, -1, 0)$ ── いや、検算すると $(1, 0+s, 0) = (0, t, 1+t)$ より $1 = 0$ で矛盾)。
改めて確認すると $\overrightarrow{AB} \cdot \vec{n} = -1 + 0 + 1 = 0$ ですが、$\ell_1$ と $\ell_2$ がねじれの位置かどうかを確認すると、交点の方程式 $1+s = 0,\; s = t,\; 0 = 1+t$ から $s = -1, t = -1$ で整合するので、交点 $(0, -1, 0)$ で交わります。
よって距離は $0$ です。
共通垂線方向への射影が $0$ になる場合は、2直線は同一平面上にあります(交わるか平行)。まず交点の存在を確認し、存在すれば距離は $0$ と結論します。
直線 $\ell_1$ は点 $(1, 0, 0)$ を通り方向ベクトル $(1, 1, 0)$ をもち、直線 $\ell_2$ は点 $(0, 1, 1)$ を通り方向ベクトル $(1, 0, -1)$ をもつ。
(1) 2直線のなす角 $\theta$ を求めよ。
(2) 2直線間の距離 $d$ を求めよ。
(3) $\ell_1$ 上の点 $P$ と $\ell_2$ 上の点 $Q$ の距離 $PQ$ の最小値を求め、そのときの $P$, $Q$ の座標を求めよ。
(1) $\vec{d}_1 = (1, 1, 0)$、$\vec{d}_2 = (1, 0, -1)$
$$\cos\theta = \frac{|1 + 0 + 0|}{\sqrt{2}\sqrt{2}} = \frac{1}{2} \implies \theta = 60°$$
(2) 共通垂線方向 $\vec{n}$:$\vec{d}_1 \cdot \vec{n} = 0$ かつ $\vec{d}_2 \cdot \vec{n} = 0$
$a + b = 0$ かつ $a - c = 0$ より $b = -a$, $c = a$。$\vec{n} = (1, -1, 1)$。
$\overrightarrow{AB} = (-1, 1, 1)$($A = (1,0,0)$, $B = (0,1,1)$)
$$d = \frac{|\overrightarrow{AB} \cdot \vec{n}|}{|\vec{n}|} = \frac{|-1 - 1 + 1|}{\sqrt{3}} = \frac{1}{\sqrt{3}} = \frac{\sqrt{3}}{3}$$
(3) $P = (1+s, s, 0)$、$Q = (t, 1, 1-t)$ として $|PQ|^2$ を最小化する。
$$|PQ|^2 = (t-1-s)^2 + (1-s)^2 + (1-t)^2$$
$s$ で偏微分:$-2(t-1-s) - 2(1-s) = 0 \implies -(t-1-s) - (1-s) = 0 \implies -t + 2s = 0$
$t$ で偏微分:$2(t-1-s) - 2(1-t) = 0 \implies (t-1-s) - (1-t) = 0 \implies 2t - s = 2$
連立方程式 $2s = t$, $2t - s = 2$ から $2(2s) - s = 2$ より $3s = 2$, $s = \dfrac{2}{3}$, $t = \dfrac{4}{3}$。
$P = \left(\dfrac{5}{3}, \dfrac{2}{3}, 0\right)$、$Q = \left(\dfrac{4}{3}, 1, -\dfrac{1}{3}\right)$
$PQ = \dfrac{\sqrt{3}}{3}$((2)と一致 ✓)
ねじれの位置の2直線の距離を正射影で求める方法と、$|PQ|^2$ の最小化で求める方法の2通りを確認しています。(3)では偏微分(2変数の連立)を用いていますが、高校範囲では「$\overrightarrow{PQ}$ が $\vec{d}_1$ と $\vec{d}_2$ の両方に垂直」という条件に読み替えることで同じ連立方程式に到達できます。