[유니티] 게임에서 Vector의 내적, 외적이 갖는 의의 (tistory.com)
내적: A * B = |A| * |B| * cosX
* 내적의 쓰임
1. 두 벡터 사이의 각도를 구할 수 있음
(ex) 퍼즐 슈팅게임)
2.물체가 앞에 있는지 뒤에 있는지 판별 가능
Cos은 좌, 우로 90도가 넘어가는 순간 음수의 값을 갖게 되기 때문
3.시야각 내에 물체 판별
플레이어 시야각이 x일 때, 플레이어의 시선과 오브젝터 위치벡터를 내적해서 얻는 각도가 x/2보다 크다면 시야 내부에 위치한다는 뜻
(ex) 적 ai의 플레이어 판별 등...)
*외적의 쓰임: 좌우를 판별할 때 사용됨
-> 내적은 좌우 상관없이 같은 값이기 때문에 교환법칙 성립하지만
외적은 벡터값이므로 방향성을 갖게되어 인자의 순서가 반대일 경우 반대 부호 반환
1.좌우 판별
플레이어 선과 up벡터를 중심으로 외적한다면,
플레이어 왼쪽 오브젝트는 양수 / 오른쪽 오브젝트는 음수를 반환할 것.
2. 평면의 법선벡터를 구할 때 씀
(ex) 바닥에 닿았다가 점프하는 공...hans)
3.벽에 부딪혀서 미끄러지는 캐릭터 방향 계산할 때도 사용 가능
벡터 외적 내적 공식 쉽게 이해하기 : 네이버 블로그 (naver.com)
<외적 내적 계산법>
* 내적
파길 * 빨길 * cos@ = aA + bB
공간벡터의 내적은 요런 식으로
* 외적
if 주어진 점 두개가 (2, 0 , 1), (0, 2, 1)일 때
외적 계산에 의하면 P는 (2, 2, -4) 가 되고,
이를 내적 계산으로 증명하면 내적의 결과가 0이 나온다.
'CS > 그래픽스 & 게임수학' 카테고리의 다른 글
diffuse / ambient / specular (0) | 2023.12.15 |
---|---|
unity 그림자 구현 (1) | 2023.12.15 |
DiretX / OpenGL (1) | 2023.12.15 |
게임에서의 삼각함수 활용 (2) | 2023.12.11 |
렌더링 파이프라인 (0) | 2023.09.27 |