코사인 법칙(cosines rule)
cosine 1법칙은 식 1과 같습니다.
\begin{align}\tag{ 식 1} &\text{a}=\text{c}·\cos(\text{B})+\text{b}·\cos(\text{C})\\ &\text{b}=\text{a}·\cos(\text{C})+\text{c}·\cos(\text{A})\\ &\text{c}=\text{b}·\cos(\text{A})+\text{a}·\cos(\text{B})\end{align}
그림 1로 부터 다음 식을 유도할 수 있습니다.
\begin{align}&\text{By}\; \overline{AH},\; \triangle ABH\; \text{and} \;\triangle AHC\\ &\rightarrow \cos(B)=\frac{a_1}{c},\; \cos(C)=\frac{a_2}{b}\\ &\rightarrow a=a_1+a_2=c \cdot \cos(B) + b \cdot \cos(C)\\\\ &\text{By}\; \overline{BD},\; \triangle ABD \; \text{and} \;\triangle CBD\\ &\rightarrow \cos(A)=\frac{b_2}{c},\; \cos(C)=\frac{b_1}{a}\\ &\rightarrow b=b_1+b_2=a \cdot \cos(C) + c \cdot \cos(A)\\\\ &\text{By}\; \overline{CE},\; \triangle AEC\; \text{and} \;\triangle CEB\\ &\rightarrow \cos(A)=\frac{c_2}{b},\; \cos(B)=\frac{c_1}{a}\\ &\rightarrow c=c_1+c_2=b \cdot \cos(A) + a \cdot \cos(B)\end{align}
식 2의 cos제2법칙은 cos 제1법칙(식 1)으로 부터 유도할 수 있습니다.
\begin{align} \tag{식 2}&a^2 = b^2 + c^2 - 2bc·\cos(A)\\ &b^2 = a^2 + c^2 - 2ac·\cos(B)\\ &c^2 = a^2 + b^2 - 2ab·\cos(C)\end{align}
식 2의 각 식의 우항 즉, a, b, c의 제곱은 식 1의 cos1 법칙을 치환하여 식 3과 같이 정리합니다.
\begin{align}\tag{식 3}&a^2=ab·\cos(C)+ac·\cos(B)\\ &b^2=ab·\cos(C)+bc·\cos(A)\\ &c^2=ac·\cos(B)+bc·\cos(A)\end{align}
식 3으로 부터 $a^2 - b^2 - c^2$을 계산합니다.
\begin{align}a^2-b^2-c^2&=ab·\cos(C)+ac·\cos(B) -ab·\cos(C)-bc·\cos(A) -ac·\cos(B)-bc·\cos(A)\\&=-2bc·\cos(A)\\ &\because \; a^2=b^2+c^2-2bc·\cos(A)\\ b^2-a^2-c^2&=ab·\cos(C)+bc·\cos(A) -ab·\cos(C)-ac·\cos(B)-ac·\cos(B)-bc·\cos(A)\\&=-2ac·\cos(B)\\ &\because \; b^2=a^2+c^2-2ac·\cos(B)\\ c^2-a^2-b^2&=ac·\cos(B)+bc·\cos(A) -ab·\cos(C)-ac·\cos(B)-ab·\cos(C)-bc·\cos(A)\\&=-2ab·\cos(c)\\ &\because \; c^2=a^2+b^2-2ab·\cos(c)\end{align}
cos1과 2법칙은 다음과 같이 파이썬 함수로 작성하여 사용할 수 있습니다. 함수에서 인수로 사용되는 len1, len2는 길이이며 ang1, ang2는 각으로 radian이어야 합니다.
#cos 1법칙 def cos1lawS(len1, len2, ang1, ang2): return(len1*cos(ang2)+len2*cos(ang1)) #cos2법칙 def cos2lawS(len1, len2, ang): return((len1**2+len2**2-2*len1*len2*cos(ang))**0.5)
예)
길이 a, b, c가 각각 1, 1, 0.52이며 각 선분에 대응되는 각 A, B, C는 각각 $\frac{5\pi}{12},\; \frac{5\pi}{12},\; \frac{\pi}{6}$인 삼각형에 대해 cosin 법칙을 적용하여 봅니다.
작성한 함수 cos1law()를 적용하여 cos 1 법칙을 확인합니다.
A, B, C=5*np.pi/12, 5*np.pi/12, np.pi/6 a, b, c=1,1, 0.52 a1=cos1law(b, c, B, C ); a1.round(2)
1.0
b1=cos1law(a, c, A, C) c1=cos1law(a, b, A, B) b1.round(2), c1.round(2)
(1.0, 0.52)
작성한 함수 cos2law()를 적용하여 cos 2 법칙을 확인합니다.
a2=cos2law(b, c, A) b2=cos2law(a, c, B) c2=cos2law(a, b, C) a2.round(2), b2.round(2), c2.round(2)
(1.0, 1.0, 0.52)
댓글
댓글 쓰기