반응형
내적
점곱(점들의 곱)이라고 불리기도 하는 내적은 스칼라값을 내는 벡터 곱셈의 일종이다.
결과가 스칼라 값이라 스칼라 곱이라고 부르기도 한다.
벡터 A = (Ax, Ay, Az)일때, 두 벡터의 곱은 AxBx+AyBy+AzBz이다.
이는 A*B = ||A|| ||B|| cosC 가 되며 C를 통하여 AB사이의 각도를 구할 수 있다.
(||A|| = A벡터의 크기 = √(x^+y^+^)))
그 증명은 A = (1, 2, 3)이고 B = (-4,0, -1)이라고 할 때,
A*B = (1,2,3) * (-4,0,-1) = -4-3 = -7
||A|| = √(1^+2^+3^) = √14
||B|| = √17
cosC = A*B/||A||||B|| = -7/√14√17
C = acos(-7/√14√17) = 약117 이 되며 즉, 두 벡터 AB사이의 각도는 117도가 된다.
이로부터 다양한 특징들을 알 수 있는데,
1. A*B = 0 이라면 두 벡터는 직교한다.
2. A*B > 0 이라면 두 벡터 사이의 각도는 예각이다.
3. A*B < 0 이라면 두 벡터 사이의 각도는 둔각이다.
게임에서의 활용으로는
1. 물체가 나를 기준으로 어느 방향에 있는지 확인 (전/후/좌/우)
2. 충돌처리
등에 사용된다.
반응형
'코딩 > 알고리즘' 카테고리의 다른 글
디자인 패턴 - 컴포넌트 패턴 (Component) (0) | 2022.06.26 |
---|---|
디자인 패턴 - 싱글톤(Singleton) (0) | 2022.06.26 |
백트래킹(Backtracking) 알고리즘 (0) | 2021.07.30 |
에라토스테네스의 체 알고리즘 (0) | 2021.04.08 |
그리디(Greedy) 알고리즘 (0) | 2021.04.06 |
댓글