내적
공식 : A*B = |A| * |B| * cosX
(A벡터와 B벡터의 크기에 코사인 값을 곱한 것)
내적으로 구할 수 있는 것
1. 두 벡터 사이의 각도
2. 물체의 앞과 뒤 판별 (90도가 넘어가는 순간 cos 값은 음수를 갖기 떄문에 뒤에 있다는 판별이 가능)
3. 시야각 물체 판별 (플레이어 시선과 오브젝트의 위치 벡터를 내적해서 얻는 각도가 X/2보다 크다면 내부 아니면 외부에 있다는 것)
Vector3.Dot - 벡터의 내적을 구하는 함수
- Mathf.Acos(dot) * Mathf.Rad2Deg 를 통해 내적을 각도 값으로 변환합니다.
- 이때 나온 각도는 딱 두 벡터의 각도를 의미합니다. 즉, 기준이 없습니다.
외적
외적으로 구할 수 있는 것
1. 물체의 좌우를 판별
Vector3.Cross - 벡터의 외적을 구하는 함수
- 내적을 통한 각도값은 기준이 없다. 그래서 외적을 통해 회전할 방향을 결정합니다.
- 외적은 두 벡터와 직교하는 하나의 벡터를 구하는 의미로, 같은 두 벡터를 연산하더라도, 순서에 따라(기준에 따라) 음수나 양수가 나올 수 있습니다. 이를 통해 각도의 방향을 구한다.
728x90