본문 바로가기
IT/컴퓨터 그래픽스

3D Geometric Transformation

by 신인용 2020. 12. 4.
반응형

 

3D Geometric Transformation

 

 

 

 

Homogenous Coordinates in 3D

2D에서 변환 matrix가 3X3 matrix로 표현됐다면,

3D에서 변환 matrix는 4X4 matrix로 표현된다.

 

 

 

 

 

 

 

3D Translation

3D에서의 Translation matrix는 위와 같이 4X4 matrix로 표현할 수 있다.

 

Inverse matrix는 이와 같이 표현된다.

 

 

 

 

 

 

 

 

3D Rotation

2D에서는 각도 하나로 Rotation이 가능했다. 회전하는 방향이 하나이다.

그런데 3D에서는?? 세 방향으로 회전이 가능하다. (Yaw, Roll, Pitch)

 

그래서 rotation의 축이 결정되어야 한다.

x축 기준, y축 기준, z축 기준, 임의의 축 기준으로 회전할 수 있다.

 

 

우선 x축, y축, z축 기준으로 회전하는 matrix를 살펴보자.

어떠한 축이 기준이라면, 그 축의 값은 그대로 유지된 채 나머지 값이 회전하면 된다.

예를 들자면, 

x축 기준이라면 x값은 그대로고, y와 z값만 회전하게 된다.

y축 기준이라면 y값은 그대로고, x와 z값만 회전하게 된다.

z축 기준이라면 z값은 그대로고, x와 y값만 회전하게 된다.

 

 

1. x축 기준

 

2. y축 기준

 

3. z축 기준

 

4. 임의의 축 기준

x축으로 돌리고, y축으로 돌리고, z축으로 잘 돌리면 원하는 회전을 할 수 있다.

자세한 내용은 너무 길어져서, 다른 글 (3D Rotation 임의의 축 회전)에 정리해 놓음.

 

 

 

 

 

 

 

 

 

 

3D Scaling

3D 에서의 Scaling matrix는 위와 같이 4X4 matrix로 표현된다.

 

Inverse matrix는 위와 같이 표현된다.

 

 

 

 

 

 

[참고]

Interactive Computer Graphics: A Top-Down Approach with Shader-based OpenGL 6th edition / 저자: Edward Angel, Dave Shreiner / 출판사: Pearson Education

반응형

'IT > 컴퓨터 그래픽스' 카테고리의 다른 글

GPU에 data를 전달하기  (0) 2021.01.17
[ 3D Rotation ] 임의의 축으로 회전하기  (4) 2020.12.04
Homogeneous Coordinate  (0) 2020.12.04
2D Geometric Transformation  (0) 2020.12.04
[ 3D Modeling ] Procedural Polygon Mesh  (0) 2020.10.24

댓글