Аффинные преобразования

Аффинным называется преобразование, обладающее следующими свойствами:

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

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

Аффинные преобразования координат на плоскости:

(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). Тем не менее он дает значительно лучшие результаты, в особенности при имитации зеркаль

 
 

ных поверхностей.