좌표 공간 변환
좌표 공간은 카티전 좌표계를 기반으로 하는 평면 공간입니다. 이 시스템은 평면에서 각 지점의 위치를 지정하는 방법을 제공합니다. 수직이고 길이가 같은 두 개의 축이 필요합니다. 다음 그림에서는 좌표 공간을 보여 줍니다.
시스템은 다음 표에 설명된 대로 4개의 좌표 공간을 지원합니다.
좌표 공간 | 설명 |
---|---|
world | 필요에 따라 그래픽 변환을 위한 시작 좌표 공간으로 사용됩니다. 크기 조정, 변환, 회전, 전단 및 리플렉션을 허용합니다. 세계 공간은 너비가 2^32단위인 2^32단위입니다. |
페이지 | 월드 공간 뒤의 다음 공간 또는 그래픽 변환의 시작 공간으로 사용됩니다. 매핑 모드를 설정합니다. 페이지 공간은 너비가 2^32단위인 2^32단위도 측정합니다. |
디바이스 | 페이지 공간 뒤의 다음 공백으로 사용됩니다. 변환만 허용하므로 디바이스 공간의 원본이 물리적 디바이스 공간의 적절한 위치에 매핑됩니다. 디바이스 공간은 너비가 2^27단위인 2^27단위입니다. |
물리적 디바이스 | 그래픽 변환을 위한 최종(출력) 공간입니다. 일반적으로 애플리케이션 창의 클라이언트 영역을 참조합니다. 그러나 디바이스 컨텍스트에 대한 핸들을 가져온 함수에 따라 전체 바탕 화면, 전체 창(프레임, 제목 표시줄 및 메뉴 모음 포함) 또는 프린터 또는 플로터 용지 페이지를 포함할 수도 있습니다. 물리적 디바이스 차원은 디스플레이, 프린터 또는 플로터 기술에 의해 설정된 크기에 따라 달라집니다. |
페이지 공간은 디바이스 공간과 함께 작동하여 애플리케이션에 밀리미터 및 인치와 같은 디바이스 독립적 단위를 제공합니다. 이 개요는 월드 공간과 페이지 공간을 논리적 공간으로 참조합니다.
물리적 디바이스의 출력을 표시하기 위해 시스템은 출력이 실제 디바이스에 완전히 나타날 때까지 변환을 사용하여 한 좌표 공간에서 다음 좌표 공간으로 사각형 영역을 복사(또는 매핑)합니다. 애플리케이션이 SetWorldTransform 함수를 호출한 경우 애플리케이션의 월드 공간에서 매핑이 시작됩니다. 그렇지 않으면 페이지 공간에서 매핑이 발생합니다. 시스템은 사각형 영역 내의 각 지점을 한 공간에서 다른 공간으로 복사할 때 변환이라는 알고리즘을 적용합니다. 변환은 한 좌표 공간에서 다른 좌표 공간으로 복사되는 개체의 크기, 방향 및 모양을 변경하거나 변환합니다. 변환은 개체 전체에 영향을 주지만 개체의 각 지점 또는 각 줄에 적용됩니다.
다음 그림에서는 SetWorldTransform 함수를 사용하여 수행하는 일반적인 변환을 보여 줍니다.