이득우의 게임수학_입문_2. 물체의 수학 - 이동의 구현 원리
강의 링크 : https://youtu.be/552b3wzVlzo?feature=shared
2. 물체의 수학 - 이동의 구현 원리
▶️ 물체에 대한 수학 :
게임에서 사용하는 가상 공간의 체계와 물체를 구성하는데 사용하는 수학 입니다.
▶️ 벡터공간 (Vector Space)
- 게임이 사용하는 가상 공간의 본질
- 벡터 공간은 어떤 대상의 성질을 표현하는데 사용되는 데이터입니다.
- 벡터 공간의 공간과 현실 세계의 공간은 다른 개념입니다.
- 하지만 벡터 공간으로 현실 세계와 유사한 공간을 만들어야 합니다.
=> 유사한 공간으로 만드는 방법 : 공간의 차원을 늘립니다.
위 방패연의 이동을 표현할때
2차원 물체의 표현 - 2차원
이동의 구현 - 1차원
총 3차원의 공간을 활용합니다.
위처럼 표현한다면,
3차원의 물체를 다루려면 => 4차원의 공간이 필요 합니다.
3차원의 물체의 표현 - 3차원
이동의 구현 - 1차원
총 4 차원의 공간을 활용합니다.
▶️ 수학의 벡터는 게임을 구현하기 위해
점 또는 (이동)벡터 중 하나로 사용됩니다.
▶️ 게임은 벡터 공간을
1. 물체를 표현하는 공간 = 아핀공간
2. 이동을 위한 공간
으로 분리하여 관리합니다.
▶️ 벡터 공간의 부분 공간인
아핀 공간에 속한 벡터 = 점 (Point)
▶️ 벡터 공간의 다른 부분 공간인
이동을 위한 공간에 속한 벡터 = 벡터(Vector) 또는 이동 벡터
(이후 구분을 위해 이동 벡터라고 지칭)
수학적 벡터 : 벡터 공간의 원소
물리적 벡터 : 크기와 방향을 가진 대상
=> 이동 벡터는 물리적 벡터에 해당 합니다.
게임에서도
아핀 공간의 점을 이용해서 물체를 만들면
해당 물체는 이동 벡터가 가지고 있는 크기와 방향을 이용해서 이 점을 이동시키도록 구현되어 있습니다.
수식으로 표현하면 p1 + v = p2 가 됩니다.
점 p1을 힘에 해당하는 이동벡터 v를 더해주면 최종 도착점인 p2에 대응됩니다.
= 두 점사이에는 하나의 벡터가 대응됩니다.
p1을 우변으로 변경하여, 점(p2)과 점(p1)을 빼게 될 경우
이동 벡터를 구할 수 있게 됩니다.
p1+v = p2에서 v는
점 p1에서 p2로 이동하는 이동벡터 였습니다.
그렇기 때문에 두 점을 뺐을 때 나오는 결과는
p1에서 p2로 향하는 벡터가 만들어집니다.
점으로 구성된 아핀 공간과 이동벡터로 구성된 부분공간은 분리된 공간 입니다.
하지만 두 점의 뺄셈을 통해서 다른 두 공간의 데이터가 서로 교환될 수 있습니다.
게임에서 보여지는 3차원 공간은 실제로 4차원 공간으로 구성되어 있습니다
가상세계에는 무한대의 가상공간을 만들 수 있습니다.
▶️ 게임에서 공간 처리 진행과정
3차원 -> 게임 표현
1차원 -> 이동 표현
- 이동이 없을 경우 기본값(0,0,0) 으로 표현합니다
▶️ 게임에서 물체 배치하는 과정
물체의 공간 = 로컬 공간 : 물체의 점을 담는 공간을 로컬 공간이라고 합니다.
물체는 아핀공간의 점들로 구성되어 있습니다.
- 게임의 무대인 월드 공간과 다르게 물체는 계속 움직여야 하기 때문에 나머지 한차원의 공간은 적즉적으로 사용해야 합니다.
물체를 드래그해서 월드공간에 배치 하는 과정이
물체에 해당하는 점을 월드공간으로 이동시킨다고 생각할 수 있습니다.
하지만 실제로는
월드 공간이 있고 로컬공간을 엎어서 포개어서 사용합니다.
물체를 구성하는 점은 로컬공간안에서 바뀌지 않았습니다. 로컬공간을 따라 다녔습니다.
이동공간을 표현하는 차원으로 로컬 공간의 이동을 표현합니다.
월드 공간에서 이동되는것처럼 보입니다.
⭐ 2강 정리
▶️ 게임은 벡터 공간을
1. 물체를 표현하는 공간
2. 이동을 위한 공간
으로 분리해 관리합니다.
▶️ 벡터 공간은 대상의 성질을 표현하는데 사용하지만
대상의 이동을 구현하기 위해 한차원 높여서 이동을 표현하여 사용한다.
그래서 게임을 구성하는 물체는 4차원의 공간을 가지게 된다.
4차원 공간을 생성하고,
3차원을 공간으로 대상을 표현하고
확장한 1차원 공간으로 이동을 구현한다.
벡터는 용도에 따라서
물체를 구성하는데 사용하는 점과,
물체를 이동하는데 사용하는 (이동)벡터로 나누어진다.