Аффинные преобразования в пространстве.
Рассмотрим частные случаи трехмерного аффинного преобразования объектов.
1. Сдвиг на dx, dy, dz.
в матричной форме выглядит:
2. Растяжение-сжатие на kx, ky, kz:
в матричной форме выглядит:
3. Повороты.
Поворот вокруг оси х на угол
-->
Поворот вокруг оси у на угол
-->
Поворот вокруг оси z на угол
-->
Формулы для обратных преобразований получить дома по аналогии с преобразованиями, которые рассмотрены выше.
Матрица композиции нескольких преобразований может быть получена путем перемножения матриц, соответствующих этим преобразованиям, справа налево. Любое движение плоскости является либо поворотом, либо параллельным переносом.
Проективные преобразования (проекции
)
В настоящее время наиболее распространены устройства отображения, которые синтезируют изображения на плоскости – экране дисплея или бумаге. При использовании любых графических устройств обычно используют проекции. Проекция задает способ отображения объектов на графическом устройстве.
Для выполнения таких преобразований применяются проективные преобразования, которые описываются матрицей 4x4 (линейным преобразованием).
Мировые и экранные координаты
При отображении пространственных объектов на экране или на листе бумаги с помощью принтера необходимо знать координаты объектов. Мы рассмотрим две системы координат.
Первая – мировые координаты, которые описывают истинное положение объектов в пространстве с заданной точностью.
Вторая – система координат устройства изображения, в котором осуществляется вывод изображения объектов в заданной проекции.
Считаем, что мировые координаты будут трехмерными декартовыми координатами. Где должен размещаться центр координат и какими будут единицы измерения вдоль каждой оси, пока для нас не очень важно. Важно то, что для отображения мы будем знать какие-то числовые значения координат отображаемых объектов.
Для получения изображения в определенной проекции необходимо рассчитать координаты проекции. Из них можно получить координаты для графического устройства (экранные координаты). Для синтеза изображения на плоскости достаточно двумерной системы координат. Однако в некоторых алгоритмах визуализации используются трехмерные экранные координаты, например, в алгоритме Z-буфера.
Виды проекций
Итак, сложность при выводе изображений объемных тел заключается в том, что трехмерные объекты должны быть отображены на плоскость. Такое отображение выполняется с помощью проектирования. Плоскость, на которую осуществляется проектирование, называется проекционной или картинной плоскостью.
Часть пространства со всеми находящимися внутри нее объектами, подлежащая изображению, назовем сценой. Для вывода графической информации требуется задать видимый объем в мировом пространстве, получить проекцию части сцены внутри видимого объема на картинную плоскость, затем отобразить проекцию в поле вывода. В общем случае объекты сцены отсекаются по границам видимого объема, а затем проецируются. Проекции трехмерных объектов строят при помощи проецирующих лучей. Проекторы выходят из одной точки, называемой центром проектирования, и проходят через каждую точку объекта. Такая проекция называется плоской геометрической проекцией.