Преобразование координатных пространств
Координатное пространство — это плоское пространство, основанное на декартовой системе координат. Эта система позволяет указать расположение каждой точки на плоскости. Для этого требуется две оси, которые являются перпендикулярными и равными по длине. На следующем рисунке показано координатное пространство.
Система поддерживает четыре координатных пространства, как описано в следующей таблице.
Координатное пространство | Описание |
---|---|
мир | При необходимости используется в качестве начального координатного пространства для графических преобразований. Он обеспечивает масштабирование, преобразование, поворот, сдвиг и отражение. Мировое пространство измеряет 2^32 единицы в высоту на 2^32 единицы в ширину. |
страница | Используется либо в качестве следующего пространства после мирового пространства, либо в качестве начального пространства для графических преобразований. Он задает режим сопоставления. Пространство страницы также измеряет 2^32 единицы в высоту на 2^32 единицы в ширину. |
device | Используется в качестве следующего пространства после пространства страницы. Он разрешает только преобразование, что гарантирует, что источник пространства устройства сопоставляется с правильным расположением в физическом пространстве устройства. Пространство устройства измеряет 2^27 единиц в ширину на 2^27 единиц. |
физическое устройство | Окончательное (выходное) пространство для графических преобразований. Обычно он относится к клиентской области окна приложения; Однако она также может включать весь рабочий стол, полное окно (включая рамку, строку заголовка и строку меню) или страницу бумаги принтера или плоттера в зависимости от функции, которая получила дескриптор в контексте устройства. Размеры физического устройства зависят от размеров, заданных технологией дисплея, принтера или плоттера. |
Пространство страницы работает с пространством устройства, предоставляя приложениям независимые от устройства единицы измерения, такие как миллиметры и дюймы. В этом обзоре мир и пространство страницы называются логическим пространством.
Для отображения выходных данных на физическом устройстве система копирует (или сопоставляет) прямоугольную область из одного координатного пространства в следующий с помощью преобразования, пока выходные данные не появятся на физическом устройстве целиком. Сопоставление начинается в мировом пространстве приложения, если приложение вызывает функцию SetWorldTransform ; В противном случае сопоставление происходит в пространстве страницы. Когда система копирует каждую точку в прямоугольной области из одного пространства в другое, она применяет алгоритм, называемый преобразованием. Преобразование изменяет (или преобразует) размер, ориентацию и форму объектов, копируемых из одного координатного пространства в другое. Хотя преобразование влияет на объект в целом, оно применяется к каждой точке или к каждой строке в объекте .
На следующем рисунке показано типичное преобразование, выполняемое с помощью функции SetWorldTransform .