Поделиться через


Преобразование координатных пространств

координатное пространство — это планарное пространство на основе системы координат Декартиана. Эта система предоставляет средства указания расположения каждой точки на плоскости. Для этого требуется две оси, которые являются перпендикулярными и равными по длине. На следующем рисунке показано пространство координат.

иллюстрация координатного пространства, показывающая источник, оба оси, а также максимальное и минимальное значения каждой оси

Система поддерживает четыре пространства координат, как описано в следующей таблице.

Координатное пространство Описание
мир При необходимости используется в качестве начального пространства координат для преобразований графики. Он позволяет масштабировать, перевод, поворот, реляние и отражение. Мировой космос измеряет 2^32 единицы с высоким уровнем на 2^32 единиц.
страница Используется либо в качестве следующего пространства после мирового пространства, либо в качестве начального пространства для преобразования графики. Он задает режим сопоставления. Пространство страницы также измеряет 2^32 единиц с высоким уровнем на 2^32 единиц в ширину.
устройство Используется в качестве следующего пространства после пространства страницы. Он позволяет переводить только то, что обеспечивает происхождение пространства устройства в правильном расположении в физическом пространстве устройства. Пространство устройства измеряет 2^27 единиц высокой на 2^27 единиц в ширину.
физическое устройство Окончательное (выходное) пространство для преобразований графики. Обычно он относится к клиентской области окна приложения; однако он также может включать весь рабочий стол, полное окно (включая кадр, строку заголовка и строку меню), или страницу принтера или бумаги графики в зависимости от функции, полученной дескриптором в контексте устройства. Размеры физического устройства зависят от измерений, заданных технологией отображения, принтера или графика.

 

Пространство страницы работает с пространством устройства для предоставления приложений независимых от устройств единиц, таких как миллиметры и дюймы. Этот обзор относится как к логическому пространству, так и к логическому пространству.

Чтобы показать выходные данные на физическом устройстве, система копирует прямоугольную область из одного пространства координат в следующее с помощью преобразования, пока выходные данные не будут отображаться в полном объеме на физическом устройстве. Сопоставление начинается в пространстве приложения, если приложение вызвало функцию SetWorldTransform; в противном случае сопоставление происходит в пространстве страницы. Так как система копирует каждую точку в прямоугольной области из одного пространства в другое, он применяет алгоритм, называемый преобразованием. Преобразование изменяет (или преобразует) размер, ориентацию и форму объектов, скопированных из одного пространства координат в другое. Хотя преобразование влияет на объект в целом, оно применяется к каждой точке или к каждой строке в объекте.

На следующем рисунке показано типичное преобразование, выполняемое с помощью функции SetWorldTransform.

иллюстрация, показывающая прямоугольник, который изменяет размер и положение, как оно отображается в пространстве мира, пространстве страницы, пространстве устройства и устройстве