3차원 공간의 이동 구현을 위해서는 물체를 표현하는 3차원 + 이동을 표현하는 1차원
총 4차원의 공간이 필요함
4차원 공간을 그림으로 표현할 수가 없음.
그래서 2차원 공간의 이동 구현으로 대신 설명
2차원 물체의 2차원 이동을 3차원 공간에서 가능
2차원 물체를 표현하기 위해서 사용하는 공간은 노란색 영역
노란색 영역의 마지막 차원의 값이 항상 1이다.
이 노란색 공간의 이름을 아핀공간이라고 한다.
계수 a의 값으로 0보다 큰 모든 실수 사용한다면 점 p2에서 점 p1로 향하는 무한대의 직선이 만들어진다.
한쪽이 고정 되어 있기 때문에 이러한 직선을 반직선(Ray)라고 한다.
반직선은 게임제작에 많이 사용
- 레이케스팅(Raycastring)
- 시선 방향에 장애물이나 목표물이 있는지 감지하는 기능
- 레이트레이싱(Raytracing)
- 모니터 화면에서 거꾸로 빛의 방향을 추적해 렌더링하는 기법
계수 a의 범위를 0에서 1 사이로 좁히면 점 p1에서 점 p2로 잘라지는 선을 만들 수 있다.
시작과 끝이 분명한 선을 선분(Line Segment)이라고 한다.
이렇게 두 점을 조합해 선을 만들 수 있다.
다음에는 한 차원 높혀서 면을 생성하는 수학에 대해 알아본다.
면을 생성하는 수학은 점 3개를 조합하는 메커니즘으로 구성된다.
점 3개에 계수를 붙인 뒤 마지막 차원의 값이 항상 1이 되도록 점 p3의 계수를 1 - a - b로 한다.
따라서 이 계산 결과는 항상 점을 보장 받는다.
그리고 이 세 점을 조합한 결과는 평면을 만든다.