이득우의 게임수학_입문_1. 공간의 수학 : 게임 수학의 개요
강의 링크 : 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프레임이라는 빠른 렌더링이 가능하게 됩니다.
⭐ 게임 수학에서 제일 중요 한것을 정리하면
- 수의 체계와 백터 공간
- 선형 변환과 행렬
입니다.