6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

直線の方程式を正規化する

Last updated at Posted at 2020-04-03

直線の方程式をプログラムで扱う場合、正規化すると便利。

直線の方程式の一般形
$$ax+by+c=0$$
はこの形からわかるように、両辺にゼロ以外の定数を掛けても意味は変わらない。
つまり、
$2x+2y+2=0$ と $4x+4y+4=0$ は同じ直線を表している。

正規化とは、この性質を利用して
直線の方程式の係数 $a,b$ の組のベクトルが単位ベクトル(大きさが1のベクトル)となるように、
$a^2+b^2=1$ となるような $a,b$ を設定すること。
この $a,b$ の組のベクトルは、直線の法線ベクトルでもあるので、直線の法線ベクトルを単位ベクトル化するとも言える。

正規化するには、ベクトル $(a,b)$ の大きさの逆数、
$$\frac{1}{\sqrt{a^2+b^2}}$$
を掛ける(ベクトルの大きさで割る)ことで変形することができる。

【例】直線 3x-2y-4=0 を正規化する。

$a=3, b=-2$ なので、
$$\frac{1}{\sqrt{a^2+b^2}}=\frac{1}{\sqrt{3^2+(-2)^2}}=\frac{1}{\sqrt{13}}$$
よって正規化された直線の方程式は、
$$\frac{3\sqrt{13}}{13}x-\frac{2\sqrt{13}}{13}y-\frac{4\sqrt{13}}{13}=0$$
となる。小数で表すと、
$$0.832050x-0.554700y-1.109400=0$$

正規化された直線の方程式を使って点と直線の距離を求める

直線 $ax+by+c=0$ と点 $P(x_0,y_0)$ との距離を $PH$ とすると、点と直線の距離の公式より、
$$PH=\dfrac{\mid ax_0+by_0+c\mid}{\sqrt{a^2+b^2}}$$
となる。
正規化された直線の方程式を使うと、この公式の分母 $\sqrt{a^2+b^2}$ が 1 となるので、
$$PH=\mid ax_0+by_0+c \mid$$
で求めることができる。
また、原点 $(0,0)$ と直線 $ax+by+c=0$との距離の公式
$$PH=\dfrac{\mid c\mid}{\sqrt{a^2+b^2}}$$
は、正規化された直線の方程式を使うと単に、
$$PH=\mid c \mid$$
です。
正規化された直線の方程式の係数 $c$ の絶対値は、原点 $(0,0)$ からの距離を表している。

6
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?