본문 바로가기

ComputerScience/Computer Graphics

CG - 3. Transformation

728x90

1. Transformation

- vertex p에 m matrix를 곱해서 transformation을 구현한다.

- 시간에 따른 transformation이 바로 애니메이션이 된다.

2. Rotation

- homogeneous coordinate으로 한차원 높여서 matrix 표현하면 위와 같다.

3. Euler Angle

- 이전에는 좌표축을 중심으로 한 회전을 생각했다면 이번에는 임의의 위치에 있는 물체의 축을 중심으로 회전을 시켜보자.

- 가장먼저 x축으로 r만큼 회전하고 y축으로 b만큼 회전하고 z축으로 a만큼 회전한다.

- xyz말고도 zyz등 가능한 여러가지 조합이 있다.

- 이런 현상을 gimbal lock이라고 한다 zxy에서 x축으로 90도를 회전하게 되면 z, y, 축을 기준으로의 변환이 동일하게 된다.

- 즉 서로 다른 계산식이 같은 결과를 내는 것이다. 이는 interpolation시에 예상치 못한 결과를 낼 수 있다.

4. quarternions

- jimbal lock을 해결하기 위한 방법이다.

- 임의의 축에 대한 회전을 계산하는 방법이다.

- 임의의 축에대한 벡터 ux, uy, uz에 대해서 angle만큼 회전하는 것이다.

- matix 곱을 위한 행렬로 표현하면 위와 같다.

5. Translation

- translation은 matrix의 합으로 표현된다.

- 이를 rotation등의 여러 변환과 함께 곱으로 계산하기 편하도록 하고 싶다.

- homogeneous coordinate으로 한차원 높여서 matrix 곱으로 표현 가능하다.

6. More Transform

728x90
반응형

'ComputerScience > Computer Graphics' 카테고리의 다른 글

CG - 5. Lighting  (0) 2021.09.29
CG - 4. Viewing System  (0) 2021.09.24
CG - 2. 라이브러리 소개  (0) 2021.09.15
CG - 1. 컴퓨터 그래픽스?  (0) 2021.09.02
OpenGL - 6 Shaders (2)  (0) 2021.07.15