세 점을 지나는 원의 방정식 - 선형대수를 이용한 방법

수학 이야기 2013.05.02 18:47

세 점을 지나는 원의 방정식은 어떻게 될까?


지난 번 포스팅한 최소자승법의 이해와 다양한 활용예 (Least Square Method)에서 원의 방정식을 근사시키는 예제를 적다가 생각났던 내용이다. 세 점을 지나는 원의 방정식은 유일하게 결정될텐데, 그 방정식은 무엇일까? 하는 의문에 식을 구해보게 되었다. 세 점을 지나는 원의 방정식을 알아두면 여러모로(RANSAC으로 원의 방정식을 구할 경우 등) 쓸모가 있을 것이다.


두 점을 지나는(지름의 양 끝점으로 하는) 원의 방정식은 (x-x1)(x-x2)+(y-y1)(y-y2)=0과 같이 깔끔하게 식이 구해진다. 세 점을 지나는 원의 방정식도 이렇게 식이 구해지지 않을까? 내심 기대를 하면서 식을 구해보았지만 결과는 글 끝에 있듯이 그렇게 이쁘지는 않았다 ^^


세 점 A(x1, y1), B(x2, y2), C(x3, y3)를 지나는 원의 방정식을 구하는 문제는 삼각형 ABC의 외접원을 구하는 문제와 같다. 이 외접원의 중심은 삼각형의 어느 두 변의 수직이등분선들이 만나는 지점에 위치한다. 즉, 선분 AB의 수직 이등분선과 선분 BC의 수직이등분선, 그리고 선분 CA의 수직이등분선은 모두 한 점에서 만나게 되는데, 이 교점이 외접원의 중심이다. 이러한 사실은 자신이 그림을 그려보면 쉽게 이해할 수 있다.




어느 두 변을 가지고 시작해도 결과는 같지만 여기서는 변 AB, BC를 가지고 외접원의 중심을 구해보도록 하겠다.


먼저, 선분 AB에 대한 수직 이등분선의 방정식은 다음과 같다.

또한 선분 BC에 대한 수직 이등분선의 방정식은 다음과 같다.



선분 AB에 대한 수직이등분선의 방정식은 선분 AB의 중점을 지나면서 선분 AB에 수직인 직선이다. 이러한 직선의 방정식은 벡터방정식을 이용하면 위와 같은 식을 얻을 수 있다. 먼저, 벡터 AB는 (x2-x1, y2-y1)이고 AB의 중점을 지나는 벡터는 (x-(x1+x2)/2, y-(y1+y2)/2)이다. 두 벡터의 내적을 0으로 놓으면 위 식을 얻을 수 있다.


위 연립방정식을 행렬식으로 표현해 보면 다음과 같다.



이제 위 방정식을 만족하는 해, 즉 외접원의 중심은 다음과 같이 계산된다.



역행렬이 존재하지 않는 경우, 즉 ad - bc = (x2-x1)(y3-y2) - (y2-y1)(x3-x2) = 0 인 경우에는 세 점을 지나는 원의 방정식이 존재하지 않는 경우이다. 이러한 경우는 세 점이 일직선상에 있거나 어느 두 점이 서로 같은 경우이다.


이렇게 원의 방정식을 구했을 때 장점은 선분 AB, BC, CA가 x축이나 y축에 수평인 경우에도 원의 방정식을 구할 수 있다는 점, 그리고 원의 존재여부를 역행렬 조건을 이용하여 손쉽게 알 수 있다는 점 정도가 되겠다.


원의 중심이 구해지면 원의 반지름은 손쉽게 구할 수 있을 것으로 생각한다..


☞ 이 글은 http://blog.naver.com/daesil11/80134961814 글에 대한 엮인글(트랙백)로 작성한 글입니다.


by 다크 프로그래머

저작자 표시 비영리 변경 금지
신고
  • cloud311 2014.09.23 10:30 신고 ADDR 수정/삭제 답글

    프로그래밍 중 원에대한 방정식을 찾다가 이 포스트를 발견하게 되었네요..
    매우 유용하게 잘 활용되었습니다.
    그런데 3차원 공간(x,y,z)에서의 3점을 지나는 원의 방정식도 혹시 가능할까요?

    • BlogIcon 다크pgmr 2014.09.23 13:57 신고 수정/삭제

      3차원 공간에서 3 점을 지나는 원은 유일하게 결정되기 때문에 어떤 식으로든 그 원은 구할 수 있습니다. 다만 그 결과가 흔히 알고 있는 원의 방정식 형태는 아닐 것입니다. 구할 수 있는 것은 원의 중심, 원의 반지름, 원이 놓여진 평면의 방정식(또는 원이 놓여진 평면과 수직인 방향벡터) 형태일 것 같습니다. 원의 중심은 위 2차원에서의 식을 3차원으로 확장하면 유사하게 구할 수 있습니다.

  • KJ 2016.10.17 16:57 신고 ADDR 수정/삭제 답글

    세 점을 지나는 원의 방정식(2차원)의 경우

    x^2 + y^2 + ax + by + c = 0에 세 점을 대입하여
    삼원연립일차방정식을 세워서 X = A^-1 B를 구하면 쉽게 해결 가능합니다.

    • BlogIcon 다크pgmr 2016.10.19 14:42 신고 수정/삭제

      네, 그렇네요. 지금 보니 그렇게 하면 해결될 것은 왜 굳이 일일히 식으로 풀었나 싶습니다.



티스토리 툴바