-
[OpenGL] glTranslatef() / glRotatef() / glScalef()Computer Graphics 2023. 9. 13. 11:47
7-9. OpenGL Functions for Two-dimensional Geometric Transformations
OpenGL에서 변환은 행렬의 곱을 통해 이루어집니다.
OpenGL에서 모든 모델은 4X4 행렬인 모델뷰 행렬로 표현됩니다.
이 모델뷰 행렬은 매 프레임마다 누적이 됩니다.
1glTranslatef(float x, float y, float z);cs - 정점을 이동시키는 함수
- 위 함수에 의해서 생성되는 변환 행렬
출처 - Opengl Tutorial - x, y, z 를 이용해 생성된 행렬이 현재 모델뷰 행렬에 곱해져 정점의 이동 변환이 이루어집니다.
- 한 모델에만 적용되는 것이 아닌, 이 함수 밑으로 나오는 모든 모델에 적용됩니다.
1glScale(float x, float y, float z);cs - 크기를 변환하는 함수이지만 정점의 크기를 변환하는 것이 아닌 정점간의 거리, 즉 벡터의 길이를 늘리고 줄이는 것
- 위 함수에 의해서 생성되는 변환 행렬
출처 - Opengl Tutorial 1glRotatef(float angle, float x, float y, float z);cs - 지정된 angle 만큼 한 축을 기준으로 회전하는 함수
- ex) glRotatef(30.0f, 1.0f, 0.0f, 0.0f) 라고 하면 x축을 중심으로 30도 회전하는 것을 의미합니다.
- x, y, z로 표현되는 벡터(혹은 축)을 중심으로 지정된 각도만큼 회전 시켜 주는 함수
- 위 함수에 의해서 생성되는 변환 행렬
출처 - Opengl Tutorial 참고
'Computer Graphics' 카테고리의 다른 글
아핀 변환 (Affine Transformation) (0) 2023.10.21 2차원 좌표계 간의 변환 (2) 2023.10.21 [Computer Graphics] Shearing (0) 2023.09.13 [OpenGL] Computer Graphics with OpenGL (Fourth Edition) (0) 2023.09.13