스칼라, 벡터, 벡터 공간의 성질

김민수·2025년 2월 10일
0

게임수학

목록 보기
1/8

1. 스칼라(Scalar)

  • 정의: 크기만 있고 방향은 없는 수
  • 예시: 2D 게임에서 시간(time), 속도의 크기(speed), 캐릭터의 크기(scale) 등을 나타낼 때 주로 사용한다.
  • 특징: 실수로 표현되며, 덧셈, 뺄셈, 곱셈, 나눗셈 등의 연산을 수행할 수 있다.

예를 들어, 캐릭터의 애니메이션 프레임 시간을 0.016초(약 60fps)로 설정한다고 하면, 이 0.016은 방향이 없는 순수한 크기 정보이므로 스칼라에 해당한다.


2. 벡터(Vector)

  • 정의: 크기와 방향을 모두 갖춘 수학적 객체
  • 표현: 2D에서 벡터 vv는 일반적으로 (x,y)(x, y)로 표현되며, 각각 실수(스칼라)인 xx, yy 좌표를 가진다.
  • 예시: 캐릭터가 화면 상에서 (3, 4)만큼 이동한다고 할 때, 이는 x축 방향으로 3만큼, y축 방향으로 4만큼 움직인 벡터를 의미한다.

2.1 벡터의 길이(원점으로부터의 최단 거리)

v=x2+y2|v| = \sqrt{x^2 + y^2}
  • 예: v=(3,4)v = (3,4)라면 v=32+42=5|v| = \sqrt{3^2 + 4^2} = 5
  • 게임에서 캐릭터와 오브젝트 사이의 거리, 투사체의 이동 거리 등을 계산할 때 자주 사용한다.

3. 벡터 공간의 성질

2D 벡터는 일반적인 벡터 공간의 성질을 그대로 따른다. 아래의 성질들은 2D 게임에서 캐릭터 이동, 물리 엔진 구현 등에 활용된다.

  1. 벡터 덧셈의 결합법칙
    u+(v+w)=(u+v)+wu + (v + w) = (u + v) + w

    • 캐릭터가 u,v,wu, v, w 순으로 이동하더라도, 최종 위치는 순서를 어떻게 바꾸어 이동해도 동일하다.
  2. 벡터 덧셈의 교환법칙
    u+v=v+uu + v = v + u

    • 두 벡터를 더하는 순서는 결과 벡터에 영향을 주지 않는다.
    • 예: (3, 4) + (1, 2)나 (1, 2) + (3, 4)는 같은 결과 (4, 6).
  3. 덧셈 항등원(영벡터 00 )
    v+0=vv + 0 = v

    • (0,0)을 더하면 원래 벡터가 변하지 않는다.
  4. 덧셈 역원
    v+(v)=0v + (-v) = 0

    • 예: (5, 7)에 (-5, -7)을 더하면 (0, 0)이 되어 원래 위치로 돌아온다.
  5. 스칼라 곱셈 연산의 호환성
    1v=v1 \cdot v = v

    • 벡터에 1을 곱해도 벡터가 변하지 않는다.
  6. 분배법칙
    a(u+v)=au+ava(u + v) = au + av

    • 게임에서 캐릭터의 이동 속도(scalar)를 벡터 두 개(방향)로 분할해서 계산하는 경우에 활용된다.
profile
안녕하세요

0개의 댓글