Modeling Transformation Projection Transformation Viewport Transformation 2 2

  • Slides: 27
Download presentation

다양한 변환 • 모 델 링 변 환 (Modeling Transformation)과 투 영 변 환

다양한 변환 • 모 델 링 변 환 (Modeling Transformation)과 투 영 변 환 (Projection Transformation) 및 뷰 포 트 변 환 (Viewport Transformation)

관측 변환 방법-2 2) glu. Look. At() 함수의 사용. • glu. Look. At() 함수는

관측 변환 방법-2 2) glu. Look. At() 함수의 사용. • glu. Look. At() 함수는 관측 점을 변환 시킨다. 시점 행렬을 정의하여 현 재 행렬의 오른쪽에 곱하는 역할을 하며 매개변수는 순서대로 3개씩 눈(카메라)의 위치, 시선 방향, 눈(카메라)의 위쪽 방향을 뜻한다. void glu. Look. At(GLdouble eyex, GLdouble eyey, GLdouble eyez, GLdouble centerx, GLdouble centery, GLdouble centerz, GLdouble upx, GLdouble upy, GLdouble upz) ; //C Sub glu. Look. At(eyex As GLdouble, eyey As GLdouble, eyez As GLdouble, centerx As GLdouble, centery As GLdouble, centerz As GLdouble, upx As GLdouble, upy As GLdouble, upz As GLdouble) ‘VB glu. Look. At() 함수를 사용하지 않은 경우에는 다음 과 같은 인자값을 가진 glu. Look. At() 함수를 호출한 것과 같다. 즉 이 인자 값이 기본 관측점이 된다. 눈 의 위치는(0, 0, 0)이고, -z 방향을 보고 있으며 y축 1 만큼 되는 방향이 관측점의 위쪽 방향으로 설정된 다. glu. Look. At 0, 0, 0, -100, 0, 1, 0

직교 투영(Orthographic Projection) • 직교 투영에서는 점(x, y, z)를 점(x, y, 0)로 투영한다. 직교

직교 투영(Orthographic Projection) • 직교 투영에서는 점(x, y, z)를 점(x, y, 0)로 투영한다. 직교 투영 행렬을 생성하 여 현재의 행렬에 곱한다. 다른 변환이 없을 경우 투영 방향은 z축에 평행하 게 된다. void gl. Ortho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble up, GLdouble near, GLdouble far) ; //C void glu. Ortho 2 D(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top); //C Sub gl. Ortho(left As GLdouble, right As GLdouble, bottom As GLdouble, top As GLdouble, z. Near As GLdouble, z. Far As GLdouble) 'VB Sub glu. Ortho 2 D(left As GLdouble, right As GLdouble, bottom As GLdouble, top As GLdouble) 'VB • glu. Ortho 2 D 함수는 gl. Ortho의 near와 far를 각각 -1, 1로 정한 것이다. • gl. Ortho – 1, 1, -1, 1 => 한 변의 길이가 2인 정육면체에 그림을 그리겠다 고 선언