Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Комп графика Лекция.doc
Скачиваний:
26
Добавлен:
12.05.2015
Размер:
495.62 Кб
Скачать

Преобразование на плоскости 2 d и в пространстве 3 d

2 D - преобразования

Любое преобразование на плоскости можно представить как последовательность 4 простейших преобразований:

1. Поворот 2. Растяжение 3. Отражение 4. Перенос

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

В основе этого метода лежит представление о том, что каждая точка в N - мерном пространстве может рассматриваться как проекция точки из (N + 1) - мерного пространства. В частности, точка в 2-х мерном пространстве представляется тремя составляющими hx, hy, h , где h - может принимать любое значение. На практике h=1, что соответствует нормализованным координатам (x,y,1).

Свойства однородных координат позволяет выражать с помощью матриц 4 основных преобразования, а также любые сочетания преобразований в виде произведения этих матриц. Таким образом, использование однородных координат позволяет применять единый математический аппарат для пространственных преобразований.

Для 2 D - преобразования (X*, Y*, 1) = (X, Y, 1) * | A | ,

где (X, Y, 1) - координаты исходной точки, | A | - матрица преобразования, (X*, Y*, 1) - координаты точки после преобразования.

Матрица вращения:. Матрица растяжения:

Матрицы отражения (относительно осей x или y): ,.

Матрица переноса:

3 D – преобразования

При использовании метода однородных координат точка в 3-х мерном пространстве представляется четырьмя составляющими hx, hy, hz, h , где h - может принимать любое значение. На практике h=1, что соответствует нормализованным координатам (x, y, z, 1).

Для 3D - преобразования (X*, Y*, Z*, 1) = (X, Y, Z, 1) * | A | ,

где (X, Y, Z, 1) - координаты исходной точки, | A | - матрица преобразования, (X*, Y*, Z*, 1) - координаты точки после преобразования.

Матрица вращения вокруг оси Х:

.

Матрица вращения вокруг оси Y:

Матрица вращения вокруг оси Z:

.

Матрица растяжения:.

Матрица отражения относительно плоскости XY: .

Матрица отражения относительно плоскости YZ:

.

Матрица отражения относительно плоскости ZX:

.

Матрица переноса: .

В качестве примера рассмотрим матрицу вращения А одновременно вокруг двух осей (относительно оси Y на угол w, а относительно оси Х на угол f) с последующим проектированием вдоль оси Z.

Удаление невидимых линии и поверхностей

Необходимость удаления невидимых линий, ребер, поверхностей или объемов обусловлена прежде всего двумя причинами:

1. Наглядность.

2. Неоднозначность.

Несмотря на кажущуюся простоту, эта задача является достаточно сложной и требует зачастую больших объемов вычислений. В качестве возможных видов проектирования обычно рассматривается параллельное либо центральное (перспективное) проектирование. Проектирование осуществляется на картинную (визуальную) плоскость экрана. Проектирующий луч к картинной плоскости проводится через каждую точку объекта. При этом видимыми будут те точки, которые вдоль направления проектирования ближе всего расположены к картинной плоскости. Задача удаления невидимых линий при ортогональной проекции значительно упрощается, чем при центральном проецировании. Дело в том, что при удалении невидимых линий при центральном проецировании необходимо определять координаты точек пересечения граней объекта с лучами, исходящими из точки наблюдения. Поэтому значительная часть алгоритмов ориентирована на ортогональное проецирование. Если же необходимо применить алгоритм удаления невидимых линий, использующий ортогональное проецирование, а изображение получит в центральной проекции, то сначала надо преобразовать исходную форму объектов в ту форму, которую они получили бы после центрального проецирования.

Алгоритмы удаления невидимых линий или поверхностей можно классифицировать по способу выбора системы координат или пространства, в котором они работают. Алгоритмы удаления невидимых поверхностей условно подразделяют на три большие группы:

  • алгоритмы, оперирующие в объектном пространстве;

  • алгоритмы, оперирующие в пространстве изображений.

  • смешанные алгоритмы.