倭算数理研究所

科学・数学・学習関連の記事を、「倭マン日記」とは別に書いていくのだ!

3次元の点と平面の距離の公式を導く ~ガリガリ計算編~

前回{ n } 次元における点と { (n-1) } 次元超平面との距離を与える公式を導きました。 そのついでとして3次元空間での点と平面との距離の公式を得ました。 今回は、その3次元での公式を、「点と直線の距離の公式を導く ~初等的解法~」で行ったのと同じような方法で導いてみたいと思います。 まぁ、脳の老化を防ぐための頭の体操レベルの、難しくないけど面倒な計算演習って感じですが。 簡単のため、一般の点ではなく原点と平面との距離を求めます。

点と直線の距離の公式と同様、導出にはいくつかの方法があります:

導出の概要

原点と平面との距離 { r } は、図形的に考えれば原点を中心とする半径 { r } の球と平面が接するように、{ r } を決定すれば OK。

  { \displaystyle
\begin{align*}
    \begin{cases}
        x^2 + y^2 + z^2 = r^2 & \cdots (1) \\
       ax + by + cz + d = 0 & \cdots(2)
    \end{cases}
\end{align*}
}

変数は { x,\,y,\,z }。 (2) 式は拘束条件なので、これを使って変数 { z } を消去しましょう。 (2) 式より

  { \displaystyle
\begin{align*}
    cz = -\left(ax + by + d\right)
\end{align*}
}

(1) 式の両辺に { c^2 } を掛けて (2) 式を代入すると

  { \displaystyle
\begin{align*}
    c^2 x^2 + c^2 y^2 + \left(ax + by + d\right)^2 - c^2 r^2 = 0
\end{align*}
}

  { \displaystyle
\begin{align*}
    (a^2 + c^2) x^2 + 2abxy + (b^2 + c^2) y^2 + 2adx + 2bdy + d^2 - c^2r^2 &= 0 & \cdots (3)
\end{align*}
}

この { x,\,y } についての2次方程式が重解(?)を持つように { r } を決定します。

左辺を平方完成

まず、方程式 (3) の左辺を { x } について平方完成しましょう:

  { \displaystyle
\begin{align*}
    {\rm (l.h.s)} &= {\small (a^2 + c^2) x^2 + 2a(by + d)x + (b^2 + c^2) y^2 + 2bdy + d^2 - c^2r^2 } \\
        & = {\small (a^2 + c^2) \left\{x + \frac{a(by + d)}{a^2 + c^2} \right\}^2
            - \frac{a^2(by + d)^2}{a^2 + c^2} + (b^2 + c^2) y^2 + 2bdy + d^2 - c^2r^2}
\end{align*}
}

次に、第2項以降の { x } に依存しない項を取り出して { y } について平方完成します:

  { \displaystyle
\begin{align*}
    & {\small - \frac{a^2(by + d)^2}{a^2 + c^2} + (b^2 + c^2) y^2 + 2bdy + d^2 - c^2r^2 } \\
    & {\small \qquad = \left\{-\frac{a^2b^2}{a^2 + c^2} +(b^2 + c^2)\right\}y^2 + 2\left(-\frac{a^2bd}{a^2 + c^2} + bd\right)y
        - \frac{a^2d^2}{a^2 + c^2} + d^2 - c^2r^2 } \\
    & {\small \qquad = \frac{c^2(a^2 + b^2 + c^2)}{a^2 + c^2}y^2
        + \frac{2bc^2d}{a^2 + c^2} y - \frac{a^2d^2}{a^2 + c^2} + d^2 - c^2r^2 } \\
    & {\small \qquad = \frac{c^2(a^2 + b^2 + c^2)}{a^2 + c^2}\left\{y + \frac{bd}{a^2 +b^2 + c^2}\right\}^2
        - \frac{b^2c^2d^2}{(a^2 + c^2)(a^2 + b^2 + c^2)} - \frac{a^2d^2}{a^2 + c^2} + d^2 - c^2r^2 }
\end{align*}
}

さらに第2項以降を取り出して変形すると

  { \displaystyle
\begin{align*}
    & {\small - \frac{b^2c^2d^2}{(a^2 + c^2)(a^2 + b^2 + c^2)} - \frac{a^2d^2}{a^2 + c^2} + d^2 - c^2r^2 } \\
    & {\small \qquad =  \frac{d^2}{(a^2 + c^2)(a^2 + b^2 + c^2)}
        \left\{-b^2c^2 - a^2(a^2 + b^2 + c^2) + (a^2 + c^2)(a^2 + b^2 + c^2)\right\} - c^2r^2 } \\
    & \qquad = \frac{c^2d^2}{a^2 + b^2 + c^2} - c^2r^2 \\
    & \qquad = c^2\left(\frac{d^2}{a^2 + b^2 + c^2} - r^2\right)
\end{align*}
}

すべてまとめると、方程式 (3) は以下のようになります:

  { \displaystyle
\begin{align*}
    &(a^2 + c^2) \left\{x + \frac{a(by + d)}{a^2 + c^2} \right\}^2
        + \frac{c^2(a^2 + b^2 + c^2)}{a^2 + c^2}\left\{y + \frac{bd}{a^2 +b^2 + c^2}\right\}^2 \\
        & \qquad + c^2\left(\frac{d^2}{a^2 + b^2 + c^2} - r^2\right) = 0
\end{align*}
}

重解を持つように { r } を決定

上記の方程式が { x,\,y } について重解を持つためには、左辺の { x,\,y } に依存しない第3項が消えなければなりません。 よって

  { \displaystyle
\begin{align*}
    r = \frac{\left|d\right|}{\sqrt{a^2 + b^2 + c^2}}
\end{align*}
}

また、方程式の解となる { x,\,y } の値は、第1, 2 項の平方の中身がそれぞれ0になるという条件から出せます:

  { \displaystyle
\begin{align*}
    \begin{cases}
        \displaystyle x = -\frac{a(by + d)}{a^2 + c^2} \\[2mm]
        \displaystyle y = - \frac{bd}{a^2 + b^2 + c^2}
    \end{cases}
\end{align*}
}

{ y } の値は既に求まっていますが、{ x } の式には { y } が含まれているので、{ y } の値を代入して

  { \displaystyle
\begin{align*}
    x &=  -\frac{a}{a^2 + c^2}\left\{-\frac{b^2d}{a^2 + b^2 + c^2} + d\right\} \\
      &= -\frac{ad}{a^2 + b^2 + c^2}
\end{align*}
}

ちなみに、{ z } は (2) 式から出せて

  { \displaystyle
\begin{align*}
    z = -\frac{cd}{a^2 + b^2 + c^2}
\end{align*}
}

を得ます。 はい、ミッション、コンプリート。

訂正
記事タイトルが「点と直線の距離」となってましたが、「点と平面の距離」の間違いでした。 そのうち「点と直線の距離」も出せればいいなと。
チャート式基礎からの数学II+B

チャート式基礎からの数学II+B