点と直線の距離のソースを表示
←
点と直線の距離
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[ユークリッド幾何学]]において'''点と直線の距離'''(てんとちょくせんのきょり、{{lang-en-short|''Distance from a point to a line''}})とは、[[点 (数学)|点]]と[[直線]]上の任意の点の[[距離]]で最短になるものをいう。点と直線を結ぶ[[線分]]で点と直線の距離に等しい長さをもつものは、与えられた直線と[[直交]]する性質がある。点と直線の距離を計算する公式は、いくつかの方法によって導出できる。 点と直線の間の最短距離を知ることは様々な場面において有益である。例えば、道路までの最短距離が分かったり、グラフ上の値のちらばりを定量化したりなどである。線形[[曲線回帰]]の一種である[[デミング回帰]]では、[[独立変数]]と[[従属変数]]が等しい[[分散 (確率論)|分散]]を持つ場合には、近似曲線と各データ点の距離によって近似の精度が測定される{{仮リンク|直交回帰|en|Orthogonal regression}}に帰着される。 == デカルト座標における距離 == === 方程式で定義された直線 === ''ax'' + ''by'' + ''c'' = 0の形の方程式により平面上の直線が与えられた場合(但し ''a'', ''b'', ''c'' は[[実数]]の定数で ''a'', ''b'' は非零である)、点 (''x''<sub>0</sub>, ''y''<sub>0</sub>) と直線の距離は :<math>\operatorname{distance}(ax+by+c=0, (x_0, y_0)) = \frac{|ax_0+by_0+c|}{\sqrt{a^2+b^2}}</math> となる<ref>{{harvnb|Larson|Hostetler|2007|loc=p. 452}}</ref><ref>{{harvnb|Spain|2007}}</ref>{{Rp|p.14}}。また直線上の点で、(''x''<sub>0</sub>, ''y''<sub>0</sub>) に最も近い点の座標は以下で与えられる<ref>{{harvnb|Larson|Hostetler|2007|loc=p. 522}}</ref>: :<math>x = \frac{b(bx_0 - ay_0)-ac}{a^2 + b^2} \text{ and } y = \frac{a(-bx_0 + ay_0) - bc}{a^2+b^2}.</math> '''軸に平行な直線''' 一般の直線の方程式 ''ax'' + ''by'' + ''c'' = 0 について、''c'' が 0 でない限り ''a'' と ''b'' がともに 0 になることはない。またそのような場合、方程式はもはやどんな直線も定めない。もし ''a'' = 0, ''b'' ≠ 0 のときには直線は ''x'' 軸に平行で、方程式は ''y'' = −''c''/''b'' となる。この直線と点 (''x''<sub>0</sub>, ''y''<sub>0</sub>) の距離は、上の等式にあてはめることにより長さ |''y''<sub>0</sub> − (−''c''/''b'')| = |''by''<sub>0</sub> + ''c''|/|''b''| の ''x'' 軸に垂直な線分から得られる。同様に ''x'' 軸に垂直な直線 (''b'' = 0) と点 (''x''<sub>0</sub>, ''y''<sub>0</sub>) との距離も、長さ|''ax''<sub>0</sub> + ''c''|/|''a''| の ''x'' 軸に平行な線分から得られる。 === 直線が通る2点によって定義された直線 === 点 ''P''<sub>1</sub>=(''x''<sub>1</sub>,''y''<sub>1</sub>) ''P''<sub>2</sub>=(''x<sub>2</sub>'',''y<sub>2</sub>'')の2点を通過する直線と点(x<sub>0</sub>、y<sub>0</sub>)の距離は以下で与えられる: :<math>\operatorname{distance}(P_1, P_2, (x_0, y_0)) = \frac{|(y_2-y_1)x_0-(x_2-x_1)y_0+x_2 y_1-y_2 x_1|}{\sqrt{(y_2-y_1)^2+(x_2-x_1)^2}}.</math> 分母は、点''P<sub>1</sub>''と点''P<sub>2</sub>''の距離である。分子は、直線上の2点と点(''x''<sub>0</sub>,''y''<sub>0</sub>)を頂点とする三角形の面積の2倍になっている(参照: [[:en:Area of a triangle#Using coordinates]])。 この公式は、三角形の面積を求める公式 <math display="inline">A=\frac{1}{2} bh</math>を変形して得られる<math display="inline">h=\frac{2A}{b}</math>と同値である。但し''b''は三角形の底辺の長さを、''h''はその底辺に対する三角形の高さを表す。 == 証明 == === 代数的な証明 === この証明は、直線が座標軸に対して平行でも垂直でもない場合にのみ、つまり直線の方程式で''a''も''b''も0でない場合にのみ成り立つ証明である。 方程式 ''ax'' + ''by'' + ''c'' = 0 で表される直線の傾きは −''a''/''b'' であるから、この直線に対して垂直な任意の線分の傾きは''b''/''a''(与えられた直線の傾きの逆数の負)である。ここで点(''m'', ''n'')を、与えられた直線と、点(''x''<sub>0</sub>, ''y''<sub>0</sub>)を通り与えられた直線に直交する直線の交点とする。点(''m'', ''n'')と点(''x''<sub>0</sub>, ''y''<sub>0</sub>)を通る直線は元の直線に直交するから :<math>\frac{y_0 - n}{x_0 - m}=\frac{b}{a}.</math> したがって<math>a(y_0 -n) - b(x_0 - m) = 0</math> が得られ、さらに両辺を2乗することで以下を得る: :<math>a^2(y_0 - n)^2 + b^2(x_0 - m)^2 = 2ab(y_0 - n)(x_0 - m).</math> ここで、次の等式を考える。但し第2式から第3式への変形には、上の2乗した等式を用いた。 :<math> (a(x_0 - m) + b(y_0 - n))^2 = a^2(x_0 - m)^2 + 2ab(y_0 -n)(x_0 - m) + b^2(y_0 - n)^2 = (a^2 + b^2)((x_0 - m)^2 + (y_0 - n)^2).</math> 一方で、点''(m, n)''が''ax + by + c =0''上にあることから、次の式も成り立つ: :<math> (a(x_0 - m) + b(y_0 - n))^2 = (ax_0 + by_0 - am -bn )^2 = (ax_0 + by_0 + c)^2.</math> したがって :<math>(a^2 + b^2)((x_0 - m)^2 + (y_0 - n)^2) = (ax_0 + by_0 + c)^2,</math> となり、点''(m, n)''と点(''x''<sub>0</sub>, ''y''<sub>0</sub>)を結ぶ線分の距離を求めることができた: :<math>d=\sqrt{(x_0 - m)^2+(y_0 - n)^2}= \frac{|ax_0+ by_0 +c|}{\sqrt{a^2+b^2}}</math><ref>{{Harvnb|Laudański|2013}}</ref>. === 幾何学的な証明 === [[ファイル:Point-to-line2.svg|サムネイル|幾何学的証明の概念図]] この証明も、直線が軸に水平または垂直でない場合にのみ成り立つ<ref>{{harvnb|Ballantine|Jerbert|1952}} なおこの制約は記事中では言及されていない</ref>。 点''P''(''x''<sub>0</sub>, ''y''<sub>0</sub>)から''Ax'' + ''By'' + ''C'' =0で表される直線に[[垂線]]を下ろし、垂線の足を点''R''とする。また点''P''から''y''軸に平行な直線を引き、それと元の直線の交点を点''S''とする。次に、直線上に点''T''を任意にとり、[[直角三角形]]''TVU''を描く。但し''TU''を斜辺とし、残り2辺はそれぞれ''x''軸、''y''軸に平行とする。さらに''x''軸に平行な辺''TV''の長さは|''B''|となるようにする(図参照)。こうすることで、直線の傾きが −''A''/''B'' であるから''y''軸に平行な辺''VU''の長さは |''A''| となる。 ここで、∆''PRS''と∆''TVU''は[[図形の相似|相似]]である。なぜならば両者とも直角三角形であり、さらに''PS'' と ''UV'' が平行で[[同位角]]が等しいからである<ref group="注釈">もし2つの三角形が直線を挟んで両側に位置した場合、この2角の関係は[[錯角]]であるからやはり等しい。</ref>。したがって対応する辺の長さの比は等しいので、 :<math>\frac{|\overline{PR}|}{|\overline{PS}|} = \frac{|\overline{TV}|}{|\overline{TU}|}.</math> また点''S''の座標を(''x''<sub>0</sub>,''m'')とすると|''PS''|=|''y''<sub>0</sub> − ''m''|で、点''P''と直線の距離|''PR''|は、 :<math> |\overline{PR} | = \frac{|y_0 - m||B|}{\sqrt{A^2 + B^2}}.</math> ところで点''S''は直線上の点だから、''m''の値は''A, B, C''を用いて :<math>m = \frac{-Ax_0 - C}{B},</math> と表せるので、これを代入すれば結局<ref>{{Harvnb|Ballantine|Jerbert|1952}}</ref>: :<math> |\overline{PR}| = \frac{|Ax_0 + By_0 + C|}{\sqrt{A^2 + B^2}}.</math> なお、類似の証明として、点''V''を点''P''と同一の点とし、∆''UVT''の面積を2通りの方法で求めることにより点''P''と直線の距離の公式を導く方法がある。点''V''と点''P''を同一の点とした時、∆''UVT''の面積はまず で求められる。一方で、''TU''を底辺と考えることで、点''P''から直線におろした垂線の長さを高さとして面積を求められる。''TU, VU, VT''の長さは点''P''の座標と直線の方程式の係数を用いて表せるので、そこから点と直線の距離の公式が導ける{{要出典|date=April 2015}}。 === ベクトルの射影を用いた証明 === [[ファイル:Vectorpoint-to-line.svg|左|250x250ピクセル|図のベクター投影証]] 点''P''(''x''<sub>0</sub>, ''y''<sub>0</sub>)と、''ax'' + ''by'' + ''c'' =0で与えられる直線を考える。また、点''Q''(''x''<sub>1</sub>, ''y''<sub>1</sub>)を直線上の任意の点とし、[[空間ベクトル|ベクトル]]'''n'''(''a'', ''b'')を点''Q''を始点とする[[法線ベクトル]]とする。このとき、点''P''と直線の距離''d''は、ベクトル''QP''を'''n'''に[[直交射影]]したものの長さと等しい。この射影したベクトルの長さは、 :<math>d = \frac{|\overrightarrow{QP} \cdot \mathbf{n}|}{\| \mathbf{n}\|}.</math> となる。いま、 :<math> \overrightarrow{QP} = (x_0 - x_1, y_0 - y_1),</math> なので、 :<math> \overrightarrow{QP} \cdot \mathbf{n} = a(x_0 - x_1) + b(y_0 - y_1)</math>, <math> \| \mathbf{n} \| = \sqrt{a^2 + b^2},</math> であるから、 :<math> d = \frac{|a(x_0 - x_1) + b(y_0 - y_1)|}{\sqrt{a^2 + b^2}}.</math> 点''Q''が直線上の点であることと <math>c = -ax_1 - by_1</math>から<ref>{{Harvnb|Anton|1994|pp=138–139}}</ref>、 :<math> d = \frac{|ax_0 + by_0 + c|}{\sqrt{a^2 + b^2}}.</math> == その他の公式 == 点と直線の最短距離を表す公式は他にも考えられる。以下の導出は、やはり直線が''x''軸にも''y''軸にも平行でないことを必要とする。 点''P''(''x''<sub>0</sub>, ''y''<sub>0</sub>)と方程式<math>y=mx+k</math>で与えられる直線を考える。すると、点''P''を通る法線の方程式は<math>y=\frac{x_0-x}{m}+y_0</math>となる。 この2直線の交点は、直線上の点の中で点''P''から最も近い点である。したがって、 :<math>mx+k=\frac{x_0-x}{m}+y_0.</math> これを''x''について解けば、 :<math>x=\frac{x_0+my_0-mk}{m^2+1}.</math> 交点の''y''座標は、いま得られた''x''座標の式を直線の方程式に代入すれば求められて、 :<math>y=m\frac{(x_0+my_0-mk)}{m^2+1}+k.</math> 2点間の距離は<math>d=\sqrt{(X_2-X_1)^2+(Y_2-Y_1)^2}</math>で求められるから、ここから点と直線の距離の公式として以下を得る。 :<math>d=\sqrt{ \left( {\frac{x_0 + m y_0-mk}{m^2+1}-x_0 } \right) ^2 + \left( {m\frac{x_0+m y_0-mk}{m^2+1}+k-y_0 }\right) ^2 } = \frac{|k + m x_0 - y_0|}\sqrt{1 + m^2} .</math> なお、ここでは直線の方程式を''y=mx+k''としたが、''ax+by+c=0''と比較すると''m'' =-''a''/''b'', ''k'' =- ''c''/''b''である。これを上式に代入し整理すれば、最初に導出した点と直線の公式が確かに得られる<ref>{{Harvnb|Larson|Hostetler|2007|loc=p. 522}}</ref>。 == ベクトルを用いた公式 == [[ファイル:Distance_from_a_point_to_a_line.svg|サムネイル|300x300ピクセル|ベクトルを用いた公式の図解]] 直線の方程式は、ベクトル方程式として与えることもできる: : <math> \mathbf{x} = \mathbf{a} + t\mathbf{n}</math> ここで {{Math|'''a'''}} は直線のある点を表す位置ベクトルで、 {{Math|'''n'''}} は直線の方向を表す[[単位ベクトル]] である。また''t''は[[スカラー (数学)|スカラー]]変数で、{{Math|'''x'''}}が直線の[[軌跡 (数学)|軌跡]]となる。 ここで、平面の任意の点 {{Math|'''p'''}}とこの直線の距離は以下のように与えられる: : <math>\operatorname{distance}(\mathbf{x} = \mathbf{a} + t\mathbf{n}, \mathbf{p}) = \| (\mathbf{a}-\mathbf{p}) - ((\mathbf{a}-\mathbf{p}) \cdot \mathbf{n})\mathbf{n} \|. </math> この公式は次のように導出できる: <math>\mathbf{a}-\mathbf{p}</math>は点{{Math|'''p'''}}から点{{Math|'''a'''}}へのベクトルである。<math>(\mathbf{a} - \mathbf{p}) \cdot \mathbf{n}</math> はそのベクトルを直線に射影したものの長さなので、 :<math>((\mathbf{a} - \mathbf{p}) \cdot \mathbf{n})\mathbf{n}</math> は、<math>\mathbf{a}-\mathbf{p}</math>を直線に正射影したベクトルである。したがって、 :<math>(\mathbf{a}-\mathbf{p}) - ((\mathbf{a}-\mathbf{p}) \cdot \mathbf{n})\mathbf{n}</math> は、直線に垂直な<math>\mathbf{a}-\mathbf{p}</math>の成分である。つまり点と直線の距離は、このベクトルの[[ノルム]]そのものである<ref>{{Cite web|url=http://geomalgorithms.com/a02-_lines.html|title=Lines and Distance of a Point to a Line|accessdate=6 December 2013|last=Sunday|first=Dan|publisher=softSurfer}}</ref>。この公式は、二次元に限らず適用できるように一般化できる。 == その他のベクトルを用いた公式 == もし[[ベクトル空間]]が[[正規直交系]]ならば、方向ベクトル<math>\vec u</math>を持ち点''A''を通る直線''l''を考えると点''P''と直線''l''の距離は、 : <math>d(\mathrm{P}, l)= \frac{\left\|\overrightarrow{\mathrm{AP}} \times\vec u\right\|}{\|\vec u\|}</math> ここで<math>\overrightarrow{\mathrm{AP}} \times\vec u</math> はベクトル<math>\overrightarrow{\mathrm{AP}}</math> と <math>\vec u</math>の[[クロス積|外積]]で、<math>\|\vec u\|</math>は<math>\vec u</math>のノルムである。 但し、外積が存在するのは3次元と7次元の場合に限ることに注意せねばならない。 == 脚注 == {{脚注ヘルプ}} === 注釈 === {{Reflist|group="注釈"}} === 出典 === {{Reflist}} == 参考文献 == * {{Citation|title=Elementary Linear Algebra|year=1994|last=Anton|first=Howard|edition=7th|publisher=John Wiley & Sons|isbn=0-471-58742-7|ISBN=0-471-58742-7}} * {{Citation|title=Distance from a line or plane to a point|year=1952|last1=Ballantine|last2=Jerbert|first1=J.P.|first2=A.R.|journal=American Mathematical Monthly|volume=59|pages=242–243|doi=10.2307/2306514|DOI=10.2307/2306514}} * {{Citation|title=Precalculus: A Concise Course|year=2007|last1=Larson|last2=Hostetler|first1=Ron|first2=Robert|publisher=Houghton Mifflin Co.|isbn=0-618-62719-7|ISBN=0-618-62719-7}} * {{Citation|title=Analytical Conics|year=2007|last=Spain|first=Barry|origyear=1957|publisher=Dover Publications|isbn=0-486-45773-7|ISBN=0-486-45773-7}} * {{Citation|title=Between Certainty and Uncertainty|year=2013|last=Laudański|first=Ludomir|series=Intelligent Systems Reference Library|publisher=Springer-Verlag Berlin Heidelberg|isbn=978-3-642-25696-7}} == 関連項目 == * [[ヘッセ標準形]] * {{仮リンク|2直線の交点|en|Line-line_intersection}} * {{仮リンク|直線と直線の距離|en|Distance_between_two_straight_lines}} * {{仮リンク|点と平面の距離|en|Distance_from_a_point_to_a_plane}} * [[:en:Skew lines#Distance|英:ねじれの位置#距離]] == 外部リンク == * {{高校数学の美しい物語|857|点と直線の距離公式:例題と4通りの証明}} * {{Citation|title=Encyclopedia of Distances|year=2013|last1=Deza|last2=Deza|first1=Michel Marie|first2=Elena|author1-link=:en:Michel Deza|url=https://books.google.com/books?id=QxX2CX5OVMsC&pg=PA86|page=86|edition=2nd|publisher=Springer|isbn=9783642309588|ISBN=9783642309588}} {{DEFAULTSORT:てんとちよくせんのきより}} [[Category:ユークリッド幾何学]] [[Category:点 (数学)]] [[Category:数学に関する記事]]
このページで使用されているテンプレート:
テンプレート:Citation
(
ソースを閲覧
)
テンプレート:Cite web
(
ソースを閲覧
)
テンプレート:Harvnb
(
ソースを閲覧
)
テンプレート:Lang-en-short
(
ソースを閲覧
)
テンプレート:Math
(
ソースを閲覧
)
テンプレート:Reflist
(
ソースを閲覧
)
テンプレート:Rp
(
ソースを閲覧
)
テンプレート:仮リンク
(
ソースを閲覧
)
テンプレート:脚注ヘルプ
(
ソースを閲覧
)
テンプレート:要出典
(
ソースを閲覧
)
テンプレート:高校数学の美しい物語
(
ソースを閲覧
)
点と直線の距離
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
ツール
リンク元
関連ページの更新状況
ページ情報