Аффинным называется преобразование, обладающее следующими свойствами:
● любое аффинное преобразование может быть представлено как последовательность операций из числа простейших: сдвиг, растяжение/сжатие, поворот;
● сохраняются прямые линии, параллельность прямых, отношение длин отрезков, лежащих на одной прямой, и отношение площадей фигур.
Аффинные преобразования координат на плоскости:
(x, y) – двумерная система координат,
(X, Y) – координаты старой СК в новой системе координат.
Общий вид аффинного преобразования:
A, B, C, D, E, F – константы.
Обратное преобразование также является аффинным:
Простейшие аффинные преобразования системы координат.
1.
1. Определяются нормали к граням.
2. По нормалям к граням определяются нормали в вершинах.
3. В каждой точке закрашиваемой грани определяется интерполированный вектор нормали.
4. По направлению векторов нормали определяется цвет точек грани в соответствии с выбранной моделью отражения света.
|
|
Рассмотрим, как можно получить вектор нормали в каждой точке грани. Для интерполяции будем оперировать векторами N'a, N'b и N'c, исходящими из центра координат плоскости проецирования и параллельными соответствующим нормалям Na, Nb и Nc в вершинах a, b и c.
Сначала найдем N' 1 и N' 2:
где XNa, YNa, ZNa, XNb, YNb, ZNb, XNc, YNc, ZNc – координаты векторов N'a, N'b и N'c.
Теперь найдем координаты вектора N':
Вектор N' параллелен вектору N для нормали в точке (X, Y), поэтому его можно использовать для расчета отражения света так же, как и вектор нормали N.
Метод Фонга сложнее метода Гуро. Для каждой точки (пиксела) поверхности необходимо выполнять намного больше вычислительных операций (рис. 31). Тем не менее он дает значительно лучшие результаты, в особенности при имитации зеркаль
ных поверхностей.