본문 바로가기

그래픽스/빠르게 훑어보는 그래픽스

4. Three Dimensional Viewing

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. 카메라 좌표 정하고 , 바라볼 좌표 정함

2. 두 좌표로 n 벡터 만듬 , 이게 x axis 임

3. 월드 좌표계의 y축인 (0, 1, 0) 이랑 외적 돌려서 u 벡터 만듬, 이게 x axis임

4. n 이랑 u 외적돌려서 v 벡터만듬, 이게 y axis임

5. u v n 좌표계 완성

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

오블리크 프로젝션 중요함

이걸 이해해야 뒤에 나올 Perspective Projection도 이해할 수 있음

 

 

 

 

 

 

 

 

 

 

 

 

 

 

제일 유명한 Perspective Projections 이다

이거 하려고 여태 공부한거니 잘보자

 

parametric form 역시, 직관성은 떨어져도, 행렬로 만들려면 저렇게 표현을 해야한다

 

u 값은 z 값과, view plane 거리를 이용해서 쉽게 구할 수 있다

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

clipping window의 min 좌표, max 좌표

그리고, 원래 정중앙에 정렬되어야할 좌표를 이용해서 shear 계수를 계산해낸다

 

카메라 좌표를 보통 0, 0, 0 으로 두므로...

 

Xprp, Yprp 값에 0을 대입하면 Mpers 의 행렬이 간소화된다

 

거기에 Mshear 를 오른쪽에다가 곱하면 M obliquepers 행렬이 됨

 

 

 

 

 

 

 

 

 

 

 

정규화 하기위한 scale 계수는 view frustum의 min max 좌표를 이용해서 구한다

 

 

 

 

 

윗 행렬은 일반화된 형태

 

만약 필드오브 뷰 앵글 있고 대칭 프러스텀이면 좀더 간단하게 표현 가능

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

대충 x = 1 인 평면 잡고, x 좌표로만 계산해서 u 값을 구해낸다