[게임수학의 이해 이득우 교수님 강의 정리] 2. 물체의 수학 Ⅰ : 이동의 구현 원리
물체에 대한 수학
- 게임에서 사용하는 가상 공간의 체계와 물체를 구성하는데 사용하는 수학
2차원 물체의 이동 구현
- 3차원 공간을 만들고 2차원으로 물체를 표현하고 나머지 1차원으로 이동을 구현
3차원 물체의 이동 구현
- 4차원의 공간을 만들고 3차원의 공간에서 물체를 표현하고 나머지 1차원으로 이동을 구현
벡터공간을 크게 두개로 구분한다.
- 물체를 구성하는 부분 공간 = 아핀공간
- 아핀 공간에 속한 벡터는 점(Point)이라고 함
- 이동을 구성하는 부분 공간
- 이동을 구성하는 부분 공간에 속하는 벡터는 벡터 또는 이동벡터라고 함
- 이동 벡터는 위에서 이야기한 물리학의 벡터에 해당
아핀 공간의 점과 벡터의 개념
- 아핀 공간의 점을 사용해서 물체를 표현하면 이 물체는 이동 벡터가 가지는 크기와 방향을 사용해서 물체를 구성하는 점들을 이동시킨다.
- 수식으로 표현
- 점 p1에 이동 벡터를 더하면 점 p2에 대응된다.
- 다시 말하면 두 점 사이에는 하나의 벡터가 대응된다라고 할 수 있다.
- 점 p1을 우변으로 넘기면 위와 같다.
- 점과 점을 빼면 이동 벡터를 얻을 수 있다.
- 이동 벡터 v는 p1에서 p2로 이동하는 이동벡터를 의미한다.
물체를 구성하는 부분 공간(아핀공간)과 이동을 구성하는 부분 공간의 관계
- 아핀공간과 이동을 구성하는 부분 공간은 서로 분리된 공간이다.
- 하지만 두 점의 뺄셈을 통해서 다른 공간의 데이터가 서로 교환될 수 있다.
가상 공간에서의 물체를 배치하는 원리
- 게임에서 사용하는 공간은 3차원으로 보이지만 실제로는 4차원 공간
- 게임 공간은 움직일 일이 없기 때문에 4차원 중에서 3차원만 사용
- 나머지 1차원의 값은 그냥 기본값으로 둔다.
- 이러한 게임 공간을 월드 공간이라고 함.
물체를 배치하는 과정
- 물체는 아핀 공간의 점들로 구성
- 이 점들을 관리하기 위해서는 점들을 포괄하는 어떠한 공간이 필요
- 이 공간 역시 4차원 공간으로 구성
- 이러한 공간을 로컬 공간이라고 함.
- 로컬 공간은 물체의 점을 담는 공간이다.
- 게임의 무대인 월드 공간과 다르게 물체는 계속해서 움직여야 하기 때문에 나머지 한차원의 공간을 적극적으로 사용해야 한다.
- 물체를 월드공간으로 배치하는 과정이 마치 물체를 구성하는데 사용하는 점을 월드 공간으로 이동시킨 것으로 보여질 수가 있음
- 하지만 실제로는 월드 공간이 있고 위치를 담는 로컬 공간을 그 위에 포갠다고 생각하면 된다.
- 물체를 구성한 점은 점이 속한 공간을 바꾼 적이 없음
- 로컬 공간은 항상 물체와 함께 따라 다닌다.
- 로컬 공간에 물체를 표현하고 남은 한차원 공간을 조정해서 로컬 공간을 이동시키는 것이다.
- 그렇게 되면 마치 월드 공간에서 물체가 이동하는 것처럼 보인다.
출처
게임 수학의 이해 강의 - 이득우 교수님
유튜브 링크