벡터
3d공간의 좌표의 기본 개념은 벡터이다
게임 내 대부분의 오브젝트는 위치가 존재하며 이동이 일어나고
벡터의 크기나 방향이 기반이 된다
벡터는 선분과 다르게 화살표이다
다시 말해, 벡터는 크기와 방향을 가지고 있다는 것이 핵심이고
벡터의 크기를 무시하고 단위벡터를 만든다면, 방향성을 각도, 기울기를 통해 표현할 수 있다
또한, 벡터는 시작 위치가 없는 것이 특징이다
벡터의 합과 차
벡터의 합과 차는 아래 그림과 같다
벡터의 차는 결국 A - B = A + (-B)로 접근을 하는 것이다
결과는 D벡터가 되며,
단순히 B벡터에서 A벡터로 바라보는 방향과도 같다는 사실을 알 수 있다
이는 벡터는 시작위치가 없기 때문에 가능한 것이다
Normalized 벡터
벡터의 크기(길이)를 1로 만들어서 방향만 신경을 쓰는 것이다
벡터의 크기(길이)를 1로 만들기 위해서는 벡터를 크기로 나누면 되며
아래 그림처럼 단위 벡터를 구할 수 있다
유니티에서는 Normalized 관련 함수를 제공해 주기 때문에 직접 계산할 필요는 없다
유니티에서 Normalize가 사용되는 예시는 다음 포스팅에서 볼 수 있다
위 그림을 보다시피
천천히 따라가는 공이 정규화가 된 것이고 (정규화가 되어서 정해진 속도로만 움직이는 것)
급발진하는 공이 정규화가 되지 않은 것이며 (정규화가 되지 않아 빠르게 움직이는 것)
두 공이 번갈아가면서 정규화가 서로 적용되는 것을 확인할 수 있다
'게임 수학 & 물리 > 게임 수학' 카테고리의 다른 글
[게임 수학] 벡터의 내적 (1) (0) | 2023.10.28 |
---|---|
[게임 수학] 벡터의 기초 (2) (0) | 2023.10.17 |
[게임 수학] tangent (0) | 2023.10.16 |
[게임 수학] sin, cos (2) (0) | 2023.10.16 |
[게임 수학] sin, cos (1) (0) | 2023.10.16 |