平面における直線の標準形
直線の方程式
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/05/27 04:51 UTC 版)
「ブレゼンハムのアルゴリズム」の記事における「直線の方程式」の解説
傾きを係数とする直線の方程式は次のとおりである。 y = f ( x ) = m x + b {\displaystyle y=f(x)=mx+b} ここで m が傾き、b がy軸上の値(y軸との交点)である。この方程式は x についての関数だが、これを x と y の関数に変換することで扱いやすくする。傾きを Δ y / Δ x {\displaystyle \Delta y/\Delta x} と表し、代数学的変換を施す。 y = m x + b y = ( Δ y ) ( Δ x ) x + b ( Δ x ) y = ( Δ y ) x + ( Δ x ) b 0 = ( Δ y ) x − ( Δ x ) y + ( Δ x ) b {\displaystyle {\begin{aligned}y&=mx+b\\y&={\frac {(\Delta y)}{(\Delta x)}}x+b\\(\Delta x)y&=(\Delta y)x+(\Delta x)b\\0&=(\Delta y)x-(\Delta x)y+(\Delta x)b\end{aligned}}} この最後の式を x と y の関数として次のように表せる。 f ( x , y ) = 0 = A x + B y + C {\displaystyle f(x,y)=0=Ax+By+C} ここで、各定数は次の通り。 A = Δ y {\displaystyle A=\Delta y} B = − Δ x {\displaystyle B=-\Delta x} C = ( Δ x ) b {\displaystyle C=(\Delta x)b} この場合、直線はA、B、Cという定数で定義され、 f ( x , y ) = 0 {\displaystyle f(x,y)=0} となる点の集合となる。直線上にない任意の座標 ( x , y ) {\displaystyle (x,y)} では f ( x , y ) ≠ 0 {\displaystyle f(x,y)\neq 0} となる。x と y が整数しかとらないなら、定数も全て整数で表され、この式には整数しか関与しないことになる点が重要である。 例えば y = 1 2 x + 1 {\displaystyle y={\frac {1}{2}}x+1} で表される直線は、 f ( x , y ) = x − 2 y + 2 {\displaystyle f(x,y)=x-2y+2} と書くこともできる。点 (2,2) はこの直線上にある。 f ( 2 , 2 ) = x − 2 y + 2 = ( 2 ) − 2 ( 2 ) + 2 = 2 − 4 + 2 = 0 {\displaystyle f(2,2)=x-2y+2=(2)-2(2)+2=2-4+2=0} また、点 (2,3) は直線上にはない。 f ( 2 , 3 ) = ( 2 ) − 2 ( 3 ) + 2 = 2 − 6 + 2 = − 2 {\displaystyle f(2,3)=(2)-2(3)+2=2-6+2=-2} 点 (2,1) も同様である。 f ( 2 , 1 ) = ( 2 ) − 2 ( 1 ) + 2 = 2 − 2 + 2 = 2 {\displaystyle f(2,1)=(2)-2(1)+2=2-2+2=2} (2,1) と (2,3) はこの直線をはさんで反対側にあり、どちら側になるかは f(x,y) の値が正か負かで決まる。すなわち、直線は平面を2つの半平面に分割するものであり、f(x,y) が負になる半平面と正になる半平面が存在する。この性質はアルゴリズムの導出において重要である。
※この「直線の方程式」の解説は、「ブレゼンハムのアルゴリズム」の解説の一部です。
「直線の方程式」を含む「ブレゼンハムのアルゴリズム」の記事については、「ブレゼンハムのアルゴリズム」の概要を参照ください。
- 直線の方程式のページへのリンク