게임 수학 강의 정리 (7)

2026. 8. 20. 03:11기타

벡터의 정규화 = 벡터의 방향을 유지한 채 크기가 1인 단위 벡터로 바꾸는 작업

ㄴ 벡터를 크기로 나눈다.  > Vector.Normalize(v)

 

영백터는 벡터의 크기가 없다는 뜻이다.

ㄴ 속도가 0인 경우 Vector.zero

 

내적(Dot Product)

: 벡터간의 곱

 

내적을 구할 때 두 벡터의 방향이 다르다면, 단위벡터를 곱하거나 cos연산으로 해당 방향의 성분을 구할 수 있다.

 

그 결과 아래 공식이 도출 된다.

 

 

두 벡터의 내적은 각 벡터의 크기와 cos각도의 곱이다.

 

위 공식의 변형으로 각도(세타)를 구할 수 있다.

 

 

게임에서 적용 예시

- 플레이어의 위치 좌표, 바라보는 방향, 적의 위치, 시야각을 알 때 플레이어의 시야에 적이 들어와 있는지 알 수 있는가?

> 마지막 공식인 각도(세타)를 구하여 계산할 수 있다. >> 계산 결과가 시야각 안에 있다면 성립.

 

- 쉐이더를 다룰 땐 빛이 반사되는 각도를 계산할 때 사용하고

- 캐릭터가 경사를 올라갈 때, 너무 가파른 언덕을 오르지 못하게 계산할 때에도 사용한다.

 

게임 엔진에선 Vector.Dot( a,b )로 내적을 쉽게 구 할 수 있다.

'기타' 카테고리의 다른 글

게임 수학 강의 정리 (9)  (0) 2026.08.20
게임 수학 강의 정리 (8)  (0) 2026.08.20
게임 수학 강의 정리 (6)  (0) 2026.08.17
게임 수학 강의 정리 (5)  (0) 2026.08.13
게임 수학 강의 정리 (4)  (0) 2026.08.07