Programming/Game-Math

벡터 내적 공식 유도

Cyn.thi.s 2019. 12. 18. 00:53

-머릿말-

내적은 프로그래밍에 있어 가장 많이 쓰이고 중요한 연산중 하나이다.

최근에 백페이스 컬링을 위해 내적 연산을 사용했었는데, 이 외에도 정말 많은 연산에 사용된다. 

오늘은 벡터 내적 공식 유도를 주제로 포스팅 한다.

내적 증명

간단하게 위 사진이 내적 증명의 전부인데, 

핵심은 제 2코사인 법칙을 통해 증명이 된다는 점이다. 

제 2 코사인 법칙을 설명하려면... 제 1코사인 법칙부터 설명해야하기에 

그부터 설명해보겠습니다.

 

제 1 코사인 법칙 

A->D 수선의 발을 내린 직각 삼각형

삼각형 CBA의 꼭짓점 A에서 변 BC에 직교하게끔 수선의 발을 내린 점 D를 만들었다고 가정한 후

이때, CD와 BD의 길이를 구해보자면, 

CD = CA cosC , BD = AB cosB가 됩니다.

BC = CD + BD이므로, 

BC = CA cosC + AB cosB라고 할 수 있겠지요. 이를 조금 단순화 하기 위해 

BC = a, CA = b, AB = c라고 하면, 

a = b cos C + c cos B라고 나타낼 수 있는데 이를 제 1 코사인 법칙이라고 합니다.

이는 각A가 예각이던 직각이던 둔각이던 성립하며, 

마찬가지로 위의 삼각형에서 b = c cosA + a cos C, c = a cos B + b cos A도 성립하게 됩니다. 

 

 

제 2 코사인 법칙 

제 1 코사인 법칙

제 1 코사인 법칙에서 

 

위와 같이 양변에 결과값을 곱해준 다음 

으로 연산을 해봅시다. 이때

a제곱 - b제곱부터 우선 연산을 했을 경우 

 

위와 같은 결과가 나오게 됩니다. 

마지막으로 a제곱을 기준으로 이항해주면,

제 2 코사인 법칙

란 결과로 제 2 코사인 법칙을 설명할 수 있는데 

이를 통해 

내적 증명

내적을 증명 할 수 있게 됩니다.