본문 바로가기
알고리즘/Geometry

Barycentric, Trilinear coordinate

by oculis 2023. 4. 8.

내 옆의 개발자, LINT 를 오픈하였습니다.

웹사이트가 필요하면 언제든 연락주세요.

주식 가격을 예측하고 랭크를 올리는 커뮤니티, 오떨 을 오픈하였습니다.

지금 접속하고 예측을 시작해보세요.

728x90

개요

Geometry
삼각형과 관련된 점을 나타내는 새로운 좌표체계


접근

Barycentric, Trilinear

  1. 고등수학에서 삼각형의 오심에 대해 배운다. 외심, 내심, 무게중심, 수심, 방심인데, 외심 내심 무게중심을 제외하고는 잘 쓰지 않는다.

  2. 외심과 내심 무게 중심을 벡터를 이용해 일반화하려면 생각할 부분이 많아지는데, 이때 좌표계를 새로 정의해 나타내면 생각이 쉬워진다. 편의상 외심, 내심, 무게중심을 각각 O, I, G라고 하자.

  3. Barycentric coordinate, 무게중심 좌표는 이름의 무게중심과 달리 G만 나타내는 것은 아니고, 삼각형 내부의 점 P에 대해 ▵BPC, ▵CPA, ▵APB의 넓이의 비를 나타내는 좌표이다.

    $\alpha:\beta:\gamma=\triangle BPC:\triangle CPA:\triangle APC$
    각 중심에 대한 barycentric coordinate는 다음과 같다.

    Barycentric
    I a : b : c
    O acosA : bcosB : ccosC
    G 1 : 1 : 1
  4. Trilinear coordinate, 삼선형 좌표는 각 변에서 특정점까지의 거리이다. 즉 P와 BC,CA,AB 까지의 거리의 비를 나타내는 좌표이다.

    $x:y:z=\overline{PH_A}:\overline{PH_B}:\overline{PH_C}$
    각 중심에 대한 trilinear coordinate는 다음과 같다.

    Trilinear
    I 1 : 1 : 1
    O cosA : cosB : cosC
    G cscA : cscB : cscC
    =bc : ca : ab
  5. 왜 각각의 Barycentric, Trilinear coordinate이 저렇게 나오는지는 정의를 바탕으로 천천히 작도하다보면 알 수 있다. 이걸 대체 어디에 쓰냐 싶은데 직교 좌표계로 변환하는 방법을 통해 쉽게 삼각형의 중심을 구할 수 있다.

Conversion

  1. 잘 보면 Barycentric과 Trilinear 사이에는 a:b:c만큼의 관계가 있다. 이게 뭔 말이냐 하면 Trilinear의 각 항에 a,b,c를 곱하면 Barycentric이 나온다. 생각해보면 당연한 건데, 어떤 점 P의 수선과 한 변의 길이를 곱하면, 예를들어 $\overline{PH_A}$와 $\overline{BC}$를 곱하면 APB의 넓이가 나오기 때문이다. 그래서 Barycentric ↔ Trilinear은 쉽게 해줄 수 있다.
    $T(x,y,z)=B(ax,by,cz)$

  2. 그럼 삼각형의 중심을 구할 때, Barycentric이나 Trilinear와 같이 알기 쉬운 좌표를 가지고 있다면, 이걸 잘 변환해 직교 좌표계로 바꾸거나 벡터로 구해버리고 싶은데 어떻게 할까? 바로 Barycentric을 Cartesian으로 바꾸는 방법이다.

  3. Barycentric으로 나타낸 P에 대해 AP의 연장선과 BC의 교점을 A'이라고 하면, $\overline{BA'}:\overline{A'C}=t:1-t$, $\overline{AP}:\overline{PA'}=s:1-s$와 같이 일반화할 수 있다. 그럼 각각의 벡터에 대해 다음이 성립한다.

    $\vec{a'}=(1-t)\vec b+t\vec c$
    $\vec{p}=(1-s)\vec a+s\vec{a'}=(1-s)\vec a+s(1-t)\vec b+st\vec c\quad\cdots(1)$
    이때 $\gamma:\beta=t:1-t$ 인데, $\gamma$삼각형과 $\beta$삼각형의 높이비와 같기 때문이다. 이해가 안된다면 아래 그림을 보자.

    마찬가지로 $s:1-s=\beta:\alpha \times (1-t)$이다. 이걸 정리해주면 $s$,$t$를 $\alpha$,$\beta$,$\gamma$에 대해 나타낼 수 있다.

    $t=\dfrac{\gamma}{\beta+\gamma},\quad s=\dfrac{\beta+\gamma}{\alpha+\beta+\gamma}\quad\cdots(2)$

  4. 그럼 (2)를 (1)에 대입하면 p의 일반화가 가능하다.

    $\vec p={\dfrac{\alpha}{\alpha+\beta+\gamma}}\vec a+{\dfrac{\beta}{\alpha+\beta+\gamma}}\vec b+{\dfrac{\gamma}{\alpha+\beta+\gamma}}\vec c$
    $={\dfrac{\alpha\vec a+\beta\vec b+\gamma\vec c}{\alpha+\beta+\gamma}}$

    와! 샌즈! 아주 유용해보이는 결과가 나왔다. 우리가 어떤 삼각형과 관련된 점의 Trilinear coordinate를 알고 있다면 Barycentric으로 변환하고 위의 방법을 이용해 Cartesian으로 바꿀 수 있다. 예를 들어 G의 barycentric coordinate는 1:1:1이므로, $\vec p={\dfrac{\vec a+\vec b+\vec c}{3}}$와 같은 결과가 나오게 되는 것이다.
    이제 이걸 이용해 다음 포스팅에서 외심을 구해보자.


참조

Wikipedia-Triangle center
Wikipedia-Barycentric coordinate system
Wikipedia-Trilinear coordinates
Socialmathnet-무게중심좌표와 삼선형좌표

728x90

'알고리즘 > Geometry' 카테고리의 다른 글

Circumcenter (추가중)  (0) 2023.04.08

댓글