개발개발/게임수학

이득우의 게임수학_입문_1. 공간의 수학 : 게임 수학의 개요

유잉유잉유잉 2025. 1. 10. 17:39
728x90

 

 

 

 

 

강의 링크 : https://youtu.be/WnZIgKYfY6w?feature=shared

 

⭐ 게임 수학 강의 목표 

  • 게임 엔진(unity, openGL, directX 등)을 사용하지 않고 운영체제만을 사용하여 점찍는 기능에서 출발해 모든 것을 직접 구현하는것을 목표로 합니다.

 

  • 게임엔진을 사용하지 않는 이유 : 렌더링 파이프라인에서 사용되는 핵심 연산을 그래픽카드에게 일임하기 때문에 어떤 수학이 사용되는 지 알 수 없기 때문입니다. 

 

  • 공리( Axiom : 증명할 필요 없는 자명한 명제 ) 에서부터 시작해서 하나씩 쌓아나갈 예정입니다.

 

 

게임에서의 수학은 크게 3가지

공간에 대한 수학

물체에 대한 수학

회전에 대한 수학

으로 나누어 볼 수 있습니다.

 

 

 

1. 공간에 대한 수학 

 

컴퓨터로 만든 가상 세계는 수로부터 만든 명확한 시스템 입니다.



▶️ 벡터 공간 : Vector Space 

게임이 사용하는 가상 공간의 본질로

어떤 대상의 성질을 표현하는데 사용되는 데이터 입니다.

 

▶️  물리학의 벡터와 스칼라

벡터 : (힘)크기와 방향을 가진 대상

스칼라 : 크기만 있는 물리량

 

▶️  수학에서의 벡터와 스칼라

벡터 : 벡터 공간의 원소

스칼라 : 체 집합의 원소

 

▶️  선형변환 (Linear Transformation)

선형성을 가진 변환입니다.

  • 1초에 60프레임을 찍어내는 게임의 특성상 “ 빠르고 단순하고 명료하게 “ 이뤄져야 합니다.
  • 반대로 다시 변환도 가능합니다.

 

▶️  현실 세계의 공간은 하나이나

게임 가상 공간은 무한대 입니다.

  • 수가 만들어내는 공간은 무한대로 만들어낼 수 있습니다.

 

 

▶️  렌더링 파이프라인

: 화면에 보여주기 위해 게임 개발자들이 다중의 공간체계를 만들어놨고 그것을 렌더링 파이프라인 이라고 합니다.

 

▶️  행렬 (Matrix)

선형 변환을 수행하는 도구 

컴퓨터에게 가상공간을 변환시키는 명령어라고 생각하면 된다. 

 

스스로 행렬을 설계할 수 있도록

기본원리를 이해하는것이 중요합니다.

 

▶️  평면의 방정식

ax + by + cz + d = 0 

여러개의 평면을 사용하여 원하는 공간의 구축 가능합니다.

 

원하는 공간을 구축하는 대표적 예로는 절두체가 있습니다.

절두체 (Frustum) : 카메라가 보는 영역으로 6개의 평면으로 구성되어 있습니다.

  • 게임의 특징인, 보이는 물체만 걸러서 렌더링하게 됩니다.
  • 1초에 60프레임이라는 빠른 렌더링이 가능하게 됩니다.

 

⭐ 게임 수학에서 제일 중요 한것을 정리하면 

  1. 수의 체계와 백터 공간
  2. 선형 변환과 행렬

입니다.

728x90