Software Development/Graphics

컴퓨터 그래픽스 이론 정리 - 정규좌표와 화면좌표

huiyu 2018. 5. 2. 22:48

파이프라인 변환 프로세스를 따라가면서 기준 좌표계가 바뀌고, 그때마다 새로운 좌표계를 기준으로 정점 좌표가 바뀐다.
이변환과정은 다음과 같다.

1) 모델 좌표 : 물체별로 모델링에 편하게 설정된 좌표계
2) 전역 좌표 : 개별 물체를 모았을 때 한꺼번에 아우를 수 있는 좌표계
3) 시점 좌표 : 물체를 바라보는 시점을 기준으로 표현
4) 정규 좌표 & 화면좌표 : 최종적으로 그림을 화면에 뿌리는 단계

* 모든 3차원 물체는 렌더링 결과 2차원 화면에 그려져야 한다. 3차원 좌표에서 2차원 변환이 필요하다.
 먼저 정규좌표로 변환을 한 뒤, 화면 좌표로 변환된다.


정규좌표(NDC : Normalized Device Coordinate) :  1을 기준으로 하는 2차원 좌표

- 정규화(Normalization) : 어떤값을 1을 기준으로 하여 상대적으로 표시하는 행위

- 정규화를 거치면서 모든 정점 좌표는 1보다 작은 값으로 바뀐다.
- 우상단 좌표(1.0, 1.0), 좌하단 좌표(-1.0, -1.0)


화면 좌표(SCS : Screen Coordinate System), 장치 좌표(DCS : Device Coordinate System), 윈도우 좌표(Window Coordinate System)
 : 화소 단위로 좌표를 표시, 예를 들어 해상도 1,024 x 768인 화면이라면 x값은 0~1023, y값은 0~767에 분포


*절단 좌표로부터 직접 화면좌표를 계산하지 않고, 정규좌표를 거치는 이유?
  정규좌표를 사용하면 해상도에 따른 화면 좌표 계산이 단순화된다.
  예를들어, 화면의 x좌표를 계산하는 과정은
    1,023x((정규 좌표)+1.0)x0.5

  ((정규좌표)+1.0)x0.5가 먼저 계산되면, 이후 그려지는 화면의 해상도만 곱해지면 화면좌표로 계산된다.
-> 정규화로 정규좌표를 계산한뒤, 빠르게 출력장치의 화면 해상도에 적응하기 위함.



728x90