Большинство программ автоматизированного проектирования (CAD) и рисующих программ обеспечивают функциональные свойства, которые масштабируют выводимые данные, созданные пользователем. Приложения, которые включают в себя возможность масштабирования (или изменения размера изображения), вызывают функцию SetWorldTransform, чтобы установить преобразование соответствующего общего (мирового) пространство в пространство страницы. Эта функция получает указатель на структуру XFORM, содержащую соответствующие значения. Члены eM11 и eM22 структуры XFORM определяют горизонтальные и вертикальные компоненты масштабирования, соответственно.
Когда масштабирование (scaling) происходит, вертикальные и горизонтальные линии (или векторы), которые составляют объект, растягиваются или сжимаются относительно оси X или Y. Нижеследующая иллюстрация показывает прямоугольник 20×20 единиц , масштабируемый вертикально в двое к его первоначальной высоте, когда копируется из мирового координатного пространства в координатное пространство страницы.
На предыдущей иллюстрации, вертикальные линии, которые определяют сторону первоначального прямоугольника, измеряются 20-ю единицами, в то время как вертикальные линии, которые определяют стороны масштабируемого прямоугольника, измеряются 40 единицами.
Вертикальное масштабирование может быть представлено нижеследующим алгоритмом.
y' = y * Dy |
Где,
y' - является новой длиной,
y - первоначальная длина,
а Dy - множитель вертикального масштабирования.
Горизонтальное масштабирование может быть представлено нижеследующим алгоритмом.
x' = x * Dx |
Где,
x' является новой длиной,
x - первоначальная длина,
а Dx - множитель горизонтального масштабирования.
Преобразования вертикального и горизонтального масштабирования могут быть объединены в единственную операцию при использовании матрицы 2×2.
|x' y'| = |Dx 0| * |x y| |0 Dy| |
Матрица 2×2, которая произвела преобразование масштабирования, содержит нижеследующие значения.
|1 0| |0 2| |