본문 바로가기
Unity 끄적임

[게임수학] 내적, 외적 이야기

by Dev_Hugh 2023. 11. 17.
728x90
반응형

사실 이 글은 나도 많이 헷갈려 했기에 쉽게 공유하고자 작성한 글입니다. 게임수학 기준에서 작성했기에 더 깊은 수학 내용은 다른 글을 검색해서 보세요 ㅠ.ㅠ

 

내적

내적 공식

- 두 벡터 a와 b가 있을 때 내적 = 각 벡터 크기 곱 * cos이다.

- 두 벡터가 이루는 각이 90도면 내적은 0이다.

- 그러면 결국 각도에 따라 내적 결과가 달라지는거다.

왼쪽은 1) 예시 오른쪽은 2) 예시

1) 적의 위치 판별시 (앞인지 뒤인지)

- 위 왼쪽 그림처럼 나를 기준으로 나의 방향 벡터 F가 있다. 이때 90도 이상이면 cos은 음수고 그 외는 양수다. 따라서 내적이 음수면 내 뒤 양수면 내 앞에 있는 것이다.

2) 적이 내 시야에 있는지 판별

- 위 오른쪽 그림처럼 내 시야각이 있다. 이때 내 방향 벡터는 F라면 적과 내 위치를 뺀 벡터 A를 구하고 둘의 내적 결과가 (내 시야각  / 2)라면 적은 내 시야에 들어와 있는 것이다.

 

외적

외적 공식

- 두 벡터 u와 v가 있을 때 외적 = 각 벡터의 크기 곱 * sin이다.

- 오른손 법칙을 이용해 쉽게 생각할 수 있다. 기본적으로 엄지가 위를 향하면 양수 아래면 음수다.

- F가 내가 바라보는 방향 벡터다. 그리고 적의 위치는 엄지를 제외한 4개의 손가락으로 감쌀 수 있게 둔다.

- 그럴 때 엄지가 가리키는게 외적 결과다.

- 아래 예시 그림은 적이 내 왼쪽에 있고 외적은 양수다. 그러면 적이 내 오른쪽에 있다면 엄지가 아래로 향하고 나머지 4개의 손가락은 오른쪽 영역을 감싸게 될 것이다.  

오른손의 법칙 예시

 

728x90
반응형

'Unity 끄적임' 카테고리의 다른 글

Unity IL2CPP, JIT, AOT  (0) 2024.05.05
코루틴(Coroutine)  (0) 2023.11.20
월드 공간과 UI 공간  (0) 2023.10.17
Coroutine 이야기  (0) 2022.11.11
Coroutine - 가비지 줄이기  (0) 2022.11.11