[게임 수학] 데카르트 좌표계 (Cartesian Coordinate)

구교승·2025년 2월 12일

[게임 수학]

목록 보기
1/9

1D Mathmetics (First Dimension Mathmetics)

직선 상의 위치
단일 수치(스칼라 값)으로 표현

Natural Number (자연수)

  • 1, 2, 3과 같이 보통 대상의 개수를 셀 때 나오는 수
  • 자연수 집합은 영어 Nutural Number의 첫글자 N 또는 정수의 양수 부분을 뜻하는 Z+
  • 물건을 세어서 기록하기 위해 나온 숫자이므로 수학의 탄생을 상징하는 기본적인 개념
  • 좌표에서의 위치 또는 갯수 표현이 가능한 수 체계

Integers (정수)

  • 자연수를 조금 더 확장시킨 개념
  • 부채, 빈곤, 대출, 담보와 같은 개념으로 Negative Number (음수) 발견

Rational Number (유리수)

  • 수의 크기를 더 작은 단위로 나눌 필요성 존재
  • 3.14, 2/3 등

Irrational Number (무리수)

  • 유리수로 표현할 수 없는 숫자
  • PI (3.141592...)가 대표적

2D Cartesian Space

2차원 네모 안에서의 수학의 움직임 또는 위치 표현
설계도, 체스, 바둑 등

  • Cartesian 좌표계를 사용하면 위치를 쉽게 표현할 수 있기 때문에 사용함
  • Cartesian 좌표계에선 (0, 0)을 중점, Origin, 센터라고 표현
  • 중점을 관통하는 두 선을 x축, y축이라고 함 (x axis, y axis)
  • 중점을 기준으로 각각 양수 및 음수로 표현, 무한히 확장 가능
  • 한 부분만 좌표계로 사용할 수도 있음
    • ex) UV Texture Coordinate
    • 텍스쳐나 리소스를 가져올 때 사용하는 프레임워크에 따라 좌표계가 변할 수 있음

3D Cartesian Space

눈으로 보기에는 한 개의 방향 추가라 어려워 보이지 않음
하지만 3D 공간은 2D보다 더 복잡함

Extra Dimension, Extra Axis

  • 3차원에선 3개의 축 사용 (x축, y축, z축)
  • 모든 축은 상호간에 수직을 이룸
  • x방향은 Right방향, y방향은 Up방향, z방향은 Forward방향

3D에서 위치 정하기

  • 각 점이 수직이 되는 면을 갖고 있음
  • x좌표는 yz평면에서의 거리, y좌표는 xz평면에서의 거리, z좌표는 xy평면에서의 거리를 표현

왼손 좌표계와 오른손 좌표계 (Left-Handed vs Right-Handed Coordinate Spaces)

2D 좌표계에선 모든 좌표계 시스템이 동일한 경우가 대다수 (x가 가로, y가 세로)
하지만 3D에서는 다른 좌표계를 사용하는 경우가 많음


왼손 좌표계

  • Z+가 forward 방향
  • 양의 값으로 회전시 시계 방향으로 회전
  • Unity, ZBrush, CINEMA 4D, Unreal, DirectX 등에서 사용
    (단, Unreal Engine에서는 Z-Up을 사용)
  • UX 측면에서의 이점
    • 3D 상에서 2D를 표현할 때 Z축 값을 사용해 레이어 구분 가능
    • Z축의 값과 오브젝트의 레이어 순서는 서로 비슷하기 때문에 구분 가능
  • 익숙한 좌표계 사용을 위해 상용 엔진에서 왼손 좌표계 사용


오른손 좌표계

  • Z+가 backward 방향
  • 양의 값으로 회전시 반시계 방향으로 회전
  • MAYA, Minecraft, blender, 3DS MAX, CAD등에서 사용
    (단, blender, 3DS MAX, CAD는 Z-up을 사용)
  • 대부분 수학에서 2D 좌표계에서 3D 좌표계로 넘어갈 때 오른손 좌표계 사용

좌표계 변환

  • 양쪽 좌표계의 변환 : 회전축에 양수, 음수 방향 교환
  • 작업 전에 해당 프로세스가 어떤 좌표계를 사용하는지 확인
  • 만약 다른 프로그램의 리소스를 불러왔을때 리소스가 제대로 보이지 않는다면 Z축의 기호를 반대로 설정
  • Y-Up과 Z-Up의 변환 : (x, y, z) -> (x, z, -y)

참고 및 출처:
게임 개발을 위한 수학
유니티 좌표계 체계의 이해와 활용 방법
3차원 공간

profile
Face the fear, Build the future

0개의 댓글