이번 포스팅은 삼각형의 넓이를 행렬식으로 표현하는 것을 알아보겠습니다.
원점을 포함하는 세 점을 이은 삼각형의 넓이
그림과 같이 세 점을 이은 삼각형이 있다고 하겠습니다.
세 점을 (0,0), ($x_{1}$, $y_{1}$), ($x_{2}$, $y_{2}$)과 같이 $x$, $y$ 좌표로 표시하였습니다.
그리고 원점이 아닌 두 점을 다음 두 벡터로 표시하면 $v$ = ($x_{1}$, $y_{1}$), $w$ = ($x_{2}$, $y_{2}$), 삼각형의 넓이 $A$는 다음 식으로 쓸 수 있습니다.
$A$ = $\frac{1}{2}||v||\cdot||w||$sin$\theta$.
여기서 $||v||$와 $||w||$는 각 벡터의 길이입니다.
또한 벡터들의 좌표는 다음과 같습니다.
$x_{1}$ = $||v||$cos$\beta$
$y_{1}$ = $||v||$sin$\beta$
$x_{2}$ = $||w||$cos$\alpha$
$y_{2}$ = $||w||$sin$\alpha$
그럼 다시 $A$의 sin$\theta$를 다음과 같이 쓰면
sin$\theta$ = sin($\beta\:-\:\alpha$) = sin$\alpha$$\cdot$cos$\beta$ $-$ cos$\alpha$$\cdot$sin$\beta$
= $\frac{1}{(||v||\cdot||w||)}(x_{1}y_{2}\:-\:x_{2}y_{1})$.
따라서 정리하면
$A$ = $\frac{1}{2}(x_{1}y_{2}\:-\:x_{2}y_{1})$
입니다.
$A$를 행렬식으로 표현하면
$A$ = $\frac{1}{2}\begin{vmatrix} \begin{array}{rr} x_{1} & y_{1} \\ x_{2} & y_{2} \end{array} \end{vmatrix}$.
*엄밀히 말하면 행렬식의 절대값의 ½이 넓이입니다.
세 점을 이은 삼각형의 넓이
이제 좀 더 일반적인 경우인 세 점, ($x_{1}$, $y_{1}$), ($x_{2}$, $y_{2}$), ($x_{3}$, $y_{3}$)를 이은 삼각형의 넓이를 보겠습니다.
사실 이 경우는 삼각형을 세 번째 점이 원점이 되도록 옮겨도 넓이에는 변화가 없습니다.
즉, 이 삼각형의 넓이는 세 점 (0,0), ($x_{1}\:-\:x_{3}, y_{1}\:-\:y_{3}$), ($x_{2}\:-\:x_{3}, y_{2}\:-\:y_{3}$)을 이은 삼각형의 넓이와 같습니다.
따라서 위에서 얻은 원점을 포함하는 경우의 공식을 이용하면,
$A$ = $\frac{1}{2}[(x_{1}\:-\:x_{3})(y_{2}\:-\:y_{3})$ $-$ $(x_{2}\:-\:x_{3})(y_{1}\:-\:y_{3})]$
= $\frac{1}{2}(x_{1}y_{2}\:+\:x_{2}y_{3}\:+\:x_{3}y_{1}\:-\:x_{2}y_{1}\:-\:x_{3}y_{2}\:-\:x_{1}y_{3})$.
$A$는 다시 다음 행렬식으로 쓸 수 있습니다.
$A$ = $\frac{1}{2}\begin{vmatrix} \begin{array}{rr} x_{1} & y_{1} & 1 \\ x_{2} & y_{2} & 1 \\ x_{3} & y_{3} & 1 \end{array} \end{vmatrix}$.
다음 링크는 python을 이용해서 삼각형의 넓이를 구하는 내용입니다. 참조하세요~
python에서 세 점으로 이뤄진 삼각형의 넓이 구하기
python에서 세 점으로 이뤄진 삼각형의 넓이 구하기
이번 포스팅은 세 점이 주어졌을 때, 그 세 점으로 이뤄진 삼각형의 넓이를 python에서 구해보겠습니다. 여기서는 NumPy 라이브러리의 행렬식을 구하는 함수를 이용할 것입니다. 1. Numpy linalg.det() 함
er5030000.tistory.com
'선형대수' 카테고리의 다른 글
5.3e 삼중곱(triple product)과 부피 (0) | 2022.04.25 |
---|---|
5.3d 외적(cross product) (0) | 2022.04.24 |
5.3b Cramer 공식을 이용해 역행렬 공식 구하기 (0) | 2022.04.20 |
5.3a Cramer 공식 (0) | 2022.04.19 |
5.2c 행렬식 계산: 여인수 이용 (0) | 2022.04.18 |
댓글