Vector의 기본
Vector 더하기:
사용 이유:
- A와 B를 합친 최종 방향을 나타내기 위함
- 가해지는 모든 힘의 합을 알기 위함
예시:
- 플레이어를 제어하기 위해 오른쪽 방향키와 상단 방향키를 동시에 누를 때 오른쪽 대각선 위로 이동하는 것
특징:
- 덧셈은 뺄셈과 달리 순서를 바꿔도 같은 결과가 나온다.
Vector 빼기:
사용 이유:
- A의 위치에서 B쪽으로 이동하고 싶을 때의 방향을 알기 위해서
예시:
-몬스터 AI가 플레이어를 발견하고 공격하러 오는 경우, 플레이어쪽으로 향하는 방향을 구할 때도 빼기를 사용한다(추적).
특징:
- 뺄셈은 덧셈과 달리 순서를 바꾸면 다른 결과값이 나온다.
벡터의 길이 (크기)
2차원 벡터일 경우:
3차원 벡터일 경우:
벡터의 길이는 스칼라(Scalar) 형식으로 표현된다. "스칼라"는 "크기"만을 가지는 물리량을 의미하며, 사칙 연산이 가능하다.
벡터의 길이를 구하는 방법은 피타고라스 정리 (C² = A² + B²)를 이용해서 구할 수 있다.
정규화 Normalization
방향 벡터를 만들 때, 벡터의 길이는 중요하지 않기 때문에 벡터의 길이를 1로 만들 수 있는 단위 벡터(Unit Vector)를 구해야 한다. 이렇게 벡터를 단위 벡터로 변경하는 것을 벡터의 정규화(Normalization)이라고 한다.
벡터의 각 성분(=X 좌표와 Y좌표)을 벡터의 크기로 나누면, 해당 벡터의 단위 벡터를 구할 수 있다.
벡터 ÷ 벡터의 크기
6 ÷ √52, 4 ÷ √52
벡터의 단위 벡터(0.832, 0.5547)
단위 벡터의 크기를 계산해서 1이 나오면 정상적인 단위벡터
출처:
https://m.blog.naver.com/pxkey/221316403491 https://leebaro.tistory.com/entry/%EB%B2%A1%ED%84%B0%EC%9D%98-%ED%81%AC%EA%B8%B0-%EA%B3%84%EC%82%B0%ED%95%98%EA%B8%B0