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


Срез

Некоторые приложения предоставляют функции, нарисованные в клиентской области. Приложения, использующие возможности ретранслации, используют функцию setWorldTransform для задания соответствующих значений в преобразовании пространства страницы. Эта функция получает указатель на структуру XFORM, содержащую соответствующие значения. Члены XFORM и eM12 и eM21 указывают горизонтальные и вертикальные константы пропорциональности соответственно.

Существует два компонента преобразования перебора. Первый изменяет вертикальные линии в объекте; второй изменяет горизонтальные линии. На следующем рисунке показан прямоугольник от 20 до 20 единиц по горизонтали при копировании из мирового пространства в пространство страницы.

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

Горизонтальный стрик может быть представлен следующим алгоритмом:

x' = x + (Sx * y) 

где x является исходной координатой x, Sx является константой пропорциональности, и x ' является результатом преобразования сдвига.

Вертикальная ревь может быть представлена следующим алгоритмом:

y' = y + (Sy * x) 

где y является исходной координатой y, Sy является константой пропорциональности, и y ' является результатом преобразования сдвига.

Преобразования горизонтального среза и вертикального стрижения можно объединить в одну операцию с помощью матрицы 2-к-2.

|x' y'| == |x y| * |  1   Sx| 
                   | Sy    1| 

Матрица 2-к-2, которая произвела шею, содержит следующие значения:

|1    1| 
|0    1|