Skip to content

Linear equation

일차 방정식(Linear equation) 또는 선형 방정식은 최고차항의 차수가 1인 방정식을 뜻한다.

Category

좌표평면 위에 그리기

직선의 방정식의 가장 일반적인 형태는 아래와 같다.

Ax + By + C = 0

기울기 (Gradient) m과 y 절편(y-intercept) b가 주어진 경우 직선의 방정식은 다음과 같이 결정된다.

y = mx + b

서로 다른 두 점 (x1,y1),(x2,y2)이 주어진 경우 직선의 방정식은 다음과 같이 결정된다.

(x2 − x1)(y − y1) = (y2 − y1)(x − x1)

x1 ≠ x2 일 경우 아래와 같이 쓸 수 있다.

y - y1 = (y2 − y1) / (x2 − x1) * (x − x1)

기울기 및 y절편을 사용한 식으로 아래와 같이 구할 수 있다.

y = mx + b
단, m = (y2 − y1) / (x2 − x1), b = (y2 − y1) / (x2 − x1) * (− x1) + y1

INFORMATION

참고로 기울기는 tanθ 이다

General Form

일차 방적식의 일반형은 아래와 같다.

Ax + By + C = 0

in one step by simply using the formula:

(y1 - y2)x + (x2 - x1)y + (x1y2 - x2y1) = 0

Python code

class GeneralForm:
    """
    Ax + By + C = 0
    """

    def __init__(self, a, b, c):
        self.a = a
        self.b = b
        self.c = c

    @classmethod
    def from_points(cls, x1, y1, x2, y2):
        """
        (y1 - y2)x + (x2 - x1)y + (x1y2 - x2y1) = 0
        """
        a = y1 - y2
        b = x2 - x1
        c = (x1 * y2) - (x2 * y1)
        return cls(a, b, c)

    def calc_x(self, y):
        return -1 * ((self.b * y) + self.c) / self.a

    def calc_y(self, x):
        return -1 * ((self.a * x) + self.c) / self.b

    @property
    def slope(self):
        return -1 * (self.a / self.b)

See also

Favorite site

두 직선의 교차점

References


  1. Wikipedia_linear_equation.pdf 

  2. Wikipedia_linear_equation_ko.pdf 

  3. Line_to_point.zip 

  4. Linear_equation.pdf