倭算数理研究所

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

点と直線の距離の公式を導く ~もしかしたら暗算で出せる方法~

前回、点と直線の距離を真面目に導出しましたが、忘れたときに導出するのがちょっと手間。 ということで、今回は同じ公式をもう少し手短に(簡単かどうかは人による)導出する方法を(目次)。 まぁ、点と直線の距離の公式を忘れたらこの導出方法も覚えてないだろうから結局使えない導出方法かも知れませんけどね。 別に3次元以上に応用できるとかでもないので、ちょっと思いついたのでやってみた的な導出方法です。

公式の確認

点と直線の距離の公式はこんなのでしたね:

{ P(p,\,q) } と直線 { \ell : ax + by + c = 0 } との距離 { d }

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

で与えられる。

では導出を。

導出

まず、点 { P(p,\,q) } を通って直線 { \ell } に垂直な直線 { m } を考えましょう。 { m } の方程式は以下のようになります:

  { \displaystyle
\begin{align*}
    b(x - p) - a (y - q) &= 0 & \cdots (1)
\end{align*}
}

法線ベクトル { (b,\,-a) } が直線 { \ell } の法線ベクトルと垂直で、{ (x,\,y) = (p,\,q) } のときに等号が成り立つので正しいことが分かります。 これに合わせて直線 { \ell }

  { \displaystyle
\begin{align*}
    a(x - p) + b(y - q) &= - (ap + bq + c) & \cdots(2)
\end{align*}
}

と変形します。 (1), (2) 式を連立して解いた解を { (x,\,y) = (s,\,t) } とすると、これは直線 { \ell,\,m } の交点になります。 また、この点と点 { P(p,\,q) } との距離が求めたい距離 { d } になっています:

  { \displaystyle
\begin{align*}
    d^2 &= (s - p)^2 + (t - q)^2 & \cdots(3)
\end{align*}
}

ここで、(1), (2) 式に { (x,\,y) = (s,\,t) } を代入した式

  { \displaystyle
\begin{align*}
    \begin{cases}
        b(s - p) - a(t - q) = 0 \\
        a(s - p) + b(t - q) = - (ap + bq + c)
    \end{cases}
\end{align*}
}

の両辺を2乗して辺々を加えると

  { \displaystyle
\begin{align*}
    \left(a^2 + b^2\right)\left\{(s-p)^2 + (t-q)^2\right\} = (ap + bq + c)^2
\end{align*}
}

さらに (3) 式を用いると

  { \displaystyle
\begin{align*}
    &\left(a^2 + b^2\right)d^2 = (ap + bq + c)^2 \\
    \therefore \, & d = \frac{\left|ap + bq + c\right|}{\sqrt{a^2 + b^2}}
\end{align*}
}

ちょっと数学的な精確さのために { s,\,t } などを導入してますが、計算自体は大したことしてないですね。 頑張れば暗算で計算できるレベル。

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

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