Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Комп_Граф / КГ_курс лекций.doc
Скачиваний:
191
Добавлен:
08.06.2015
Размер:
1.31 Mб
Скачать

4.6. Зеркальное отражение света

В диффузной модели предполагалось, что свет, падающий от источников на поверхности объектов, отражается равномерно по всем направлениям, в том числе и в направлении плоскости проекций. Эта модель хорошо соответствует реальным объектам с матовой поверхностью, однако поверхности многих предметов, особенно металлических, обладают ярко выраженными зеркальными свойствами. Для них наибольшая доля света рассеивается от поверхности в соответствии с законом зеркального отражения: угол падения равен углу отражения (рис. 4.8). Модели распространения света, учитывающие зеркальные свойства поверхностей, называются рефлексными [8].

На рис. 4.8 L – вектор направления на источник света; N – нормальный вектор к поверхности.

Рис. 4.8

Яркость света, отраженного в направлении V плоскости проекции, зависит от величины угла α между вектором Vr направления зеркального отражения и вектором V. Эта зависимость различна для разных материалов и гладкости их поверхности. Для реальных материалов она определяется экспериментально. При машинном же синтезе изображений виртуальных объектов для качественного моделирования зеркальности чаще используют эмпирические модели. Так, в рефлексной модели, предложенной Фонгом [1, 5], интенсивность света, отраженного в направлении вектора V, считается пропорциональной величине сosn α, где n – коэффициент зеркальности. На практике значение n выбирают в диапазоне 1 – 200.

Если векторы Vr и V уже нормированы, то сos α можно рассчитать как скалярное произведение этих векторов, т.е. . Тогда формулы для расчета значений цветовых компонент света, отраженного в направлении плоскости проекции (наблюдателя), примут следующий вид:

(4.21)

(4.22)

(4.23)

Формулы (4.21) – (4.23) отражают обе модели распространения света – диффузную и рефлексную.

4.7. Трехмерные геометрические преобразования

Так же, как и в двумерной графике, при интерактивной работе с трехмерными объектами над ними приходится производить различные геометрические преобразования. Трехмерные линейные преобразования в однородных координатах отличаются от двумерных только числом координат и размерностью матриц преобразования, равной 4 x 4.

В общем виде линейное трехмерное преобразование с матрицей W в однородных координатах x, y, z, v представляется следующим образом:

(4.24)

Здесь C = [x y z 1] – матрица исходных координат; C = [x' y' z' v] – матрица новых координат после преобразования.

Важно иметь в виду, что значение координаты v остается равным 1 только в таких преобразованиях, для которых w14, w24, w34 = 0 и w44 = 1. В противном случае для перехода к обычной системе координат необходимо выполнить пересчет:

x = x' / v; y = y' / v; z = z' / v. (4.25)

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

Преобразование перемещения

(4.26)

Здесь mx, my, mz – составляющие перемещения по соответствующим осям.

Преобразование масштабирования относительно начала координат

(4.27)

Здесь sx, sy, sz – масштабные коэффициенты по соответствующим осям. Ограничения на значения масштабных коэффициентов здесь те же, что и для двумерного случая.

Преобразование поворота относительно оси OX на угол φ

(4.28)

Преобразование поворота относительно оси OY на угол φ

(4.29)

Преобразование поворота относительно оси OZ на угол φ

(4.30)

Стоит отметить, что формула (4.5) в п. 4.1 для поверхности вращения получена путем применения преобразования вращения вокруг оси OZ к кривой, заданной параметрической функцией P(u).

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

Соседние файлы в папке Комп_Граф