Шаг 87.
Основы компьютерной графики. Примеры изображения трехмерных объектов. Шар. Учет расположения источника света

    На этом шаге мы рассмотрим особенности учета расположения источника света.

    В приведенных на предыдущих шагах примерах использовался точечный источник освещения, расположенный так же, как и камера - на оси Z видовых координат. Как получить изображение шара, освещенного сбоку?

    Рассмотрим для простоты диффузное рассеивание. Для расчета косинуса угла наклона нормали по отношению к направлению луча источника света удобно ввести еще одну систему координат. Эта система координат - обозначим ее как (Хс, Yc, Zc) - повернута в пространстве таким образом, чтобы источник света располагался на оси Zc. Здесь следует уточнить, что мы рассматриваем точечный источник света, расположенный снаружи шара на достаточно большом расстоянии, причем не учитываем зависимость освещенности точек поверхности от расстояния до источника света.

    Ориентацию системы координат источника света (Xc, Yc, Zc) можно задать двумя углами поворота c, βc) - подобно тому, как задается видовая система координат. На рисунке 1 показано расположение осей.


Рис.1. Пример взаимного расположения осей мировых координат (х, у, z), видовых координат (X, У, Z) - (α = -18°, β = 71°) и системы координат, связанной с источником освещения (Xc, Yc, Zc) - (αc= 51°, β= 48°)

    Косинус угла нормали можно вычислить по формуле:

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

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

    На следующем шаге мы рассмотрим градиентное закрашивание круга.




Предыдущий шаг Содержание