見出し画像

【高校数学】点と直線の距離の公式の意味を強引にこじつけてみるという話

公式を思い出す

点$${(x_1,y_1)}$$と直線$${\ell :ax+by+c=0}$$の距離$${d}$$を計算してみます.

点と直線の距離

点$${(x_1, y_1)}$$から直線$${\ell}$$へ垂線を下ろし,その交点を$${(x_2, y_2)}$$とします.
そして,直線$${\ell}$$の垂線はベクトル$${a\brack b}$$に平行ですので,実数$${k}$$によって次のように書けます.

$$
\begin{bmatrix}x_2-x_1\\y_2-y_1\end{bmatrix}=k\begin{bmatrix}a\\b\end{bmatrix}
$$

これは$${{x_2\brack y_2}={ka+x_1\brack kb+y_1}}$$と書き換えることができ,$${(x_2, y_2)}$$は直線$${\ell}$$上の点ですから,直線の方程式に代入して,次のようにできます.

$$
ax_2+by_2+c=0\\
\Longleftrightarrow a(ka+x_1)+b(kb+y_1)+c=0\\
\Longleftrightarrow (a^2+b^2)k+ax_1+by_1+c=0
$$

よって$${{a\brack b}\neq 0}$$ならば,

$$
k=-\frac{ax_1+by_1+c}{a^2+b^2}
$$

であることが分かります.
よって,目的の$${d}$$は次のように計算できます.

$$
d=\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}\\
=\sqrt{(ka)^2+(kb)^2}\\
=|k|\sqrt{a^2+b^2}\\
=|-\frac{ax_1+by_1+c}{a^2+b^2}|\sqrt{a^2+b^2}\\
=\frac{|ax_1+by_1+c|}{\sqrt{a^2+b^2}} ①
$$

以上で公式を導出できました.結果は,直線の方程式$${ax+by+c=0}$$の左辺に点の座標$${(x_1, y_1)}$$を代入し,その絶対値を,直線を規定するベクトル$${a\brack b}$$の長さで割る,という非常に綺麗な形です.


余談ですが,これは全く同じ計算によって高次元の場合に拡張ができるようです.すなわち,$${n}$$次元空間内の平面(超平面)$${a_0+a_1x_1+\cdots+a_nx_n=0}$$と点$${(y_1,y_2,\ldots,y_n)}$$との距離$${d_n}$$は次で書けます.

$$
d_n=\frac{|a_0+a_1y_1+\cdots+a_ny_n|}{\sqrt{a_1^2+\cdots+a_n^2}}
$$

これはサポートベクターマシンという機械学習アルゴリズムの基礎になるらしいです.


ということで綺麗な形の式が得られたのは嬉しいのですが,私は疑問に思うことがあります.この公式は非常に綺麗な形ではありますが,公式がグラフのどの部分を反映してこの形になるのか,よく分からないということです.特に①の分子の$${ax_1+by_1+c}$$は何を表しているのでしょうか? これについて考えていきたいと思います.

3次元で考えました

$${f(x,y)=ax+by+c}$$とします.
そうすると直線の方程式は$${f(x,y)=0}$$です.
点$${(x_1,y_1)}$$と直線の距離$${d}$$は$${d=\frac{|f(x_1,y_1)|}{\sqrt{a^2+b^2}}}$$です.

ここで,以下のようにしてみます.

$$
f(x,y)=ax+by+c=\begin{bmatrix}a\\ b\\ c\end{bmatrix}\cdot\begin{bmatrix}x\\ y\\ 1\end{bmatrix}\\
f(x,y)=0 \Longleftrightarrow \begin{bmatrix}a\\ b\\ c\end{bmatrix}
\cdot\begin{bmatrix}x\\ y\\ 1\end{bmatrix}=0
$$

よって,2次元平面での直線$${f(x,y)=0}$$は,3次元空間でのある平面の切断部分であることが分かります.つまり,原点を含みベクトル$${\begin{bmatrix}a\\b\\c\end{bmatrix}}$$と垂直な面と,$${z=1}$$平面が交わることでできる切断部分です.以後,原点をもとにして位置ベクトルが$${\begin{bmatrix}a\\b\\c\end{bmatrix}}$$である点をAとします.

3次元ベクトルに垂直な面の切断部分が直線である

点と直線の距離は3次元中でどこに現れるか

2次元での点$${(x_1,y_1)}$$と直線$${ax+by+c=0}$$の距離は,3次元では点$${(x_1,y_1,1)}$$(これを点Pとします)と直線$${ax+by+c=0}$$(上で言った面の切断部分)の距離です.

d=PQ=P'Q'を求める

点Pから直線への垂線を引いた時の交点をQとすると,求める距離$${d}$$は線分PQの長さです.
そして,点Pを直線OAに対して射影をとった点をP'とします.P→P'という平行移動でQはQ'に移るとします.また,点Aの$${z}$$軸への射影点をA'とします.

以下の点に注意してください.

  • 点Q'は平面$${ax+by+cz=0}$$上にある.

  • 直線P'Q'は$${z}$$軸と交わる.

  • 三角形OP'Q'と三角形A'AOは同一の平面内にあり,相似である.

よって,三角形OP'Q'を含む面を切り出して見ると次のようになります.

OP'Q'面を見る

$${f(x,y)}$$が内積であったことを思い出せば,$${\mathrm{OP'}=\frac{f(x_1,y_1)}{\sqrt{a^2+b^2+c^2}}}$$です.
そして上の図で相似を考えれば,P'Q':OP'=OA:AA'ですから,

$$
d=\frac{f(x_1,y_1)}{\sqrt{a^2+b^2+c^2}}\times \frac{\sqrt{a^2+b^2+c^2}}{\sqrt{a^2+b^2}}=\frac{f(x_1,y_1)}{\sqrt{a^2+b^2}}
$$

以上で,3次元空間で考えて,点と直線の距離の公式を再導出したわけですが,その過程で,公式の分子に現れる$${f(x_1,y_1)}$$は内積と思えることが分かりました.また分母に長さが現れるのは相似計算の結果だということが分かりました.

f(x,y)で離れ具合を測り,ベクトルの長さで規格化する

ベクトル$${\begin{bmatrix}a\\ b\\ c\end{bmatrix}}$$との内積を考えると,そのベクトルと同じ側(なす角度が90°より小さい)ならば内積はプラス,反対側(なす角が90°より大きい)ならば内積はマイナスでした.

そして,内積がゼロになる平面の$${z=1}$$面での切断が2次元平面に直線となって現れ,その直線と点$${(x_1,y_1)}$$との距離は,内積を$${\sqrt{a^2+b^2}}$$で割ったものでした.分母の部分は相似計算の結果出てきたのですが,直線の式$${ax+by+c=0}$$の定数倍の違いをキャンセルする規格化の役割も持っています.

内積の正負

おわり


この記事が気に入ったらサポートをしてみませんか?