logo
Ответы по компьютерной графике

Алгоритм Для каждого окна:

1. Если все многоугольники сцены внешние, то это окно пусто. Изображается с фоновой интенсивностью/цветом.

2. Внутри окна только один многоугольник. Многоугольник заполняется своей интенсивностью/цветом, а окно вне его (многоугольника) фоновым значением интенсивности/цвета.

3. Только один многоугольник пересекает окно. Площадь окна вне многоугольника заполняется фоновой интенсивностью/цветом, а та часть многоугольника, которая внутри окна, закрашивается интенсивностью/цветом многоугольника.

4. Окно охвачено только одним многоугольником. Окно заполняется интенсивностью/цветом многоугольника.

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

В противном случаепроводитсяразбиение окна.

Алгоритм разбиения криволинейных поверхностей (Кэтмул).

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

Алгоритм Z - буфера ( в пространстве изображения )

Буфер кадра – интенсивность и Z-буфер. Для каждого пикселя проверка глубины и сравнение с тем значениемZ, которое уже занесено. ЕслиZдля нового пикселя впереди того, то новый пиксель заносится в кадр и корректируетсяZ-буферОценка буфера 1024 x 1024 x 3 байта = 3 мб

Заполнить буфер кадра фоновымзначением интенсивности (цвета) ЗаполнитьZ-буфер минимальным значениемZ( -) Преобразовать каждый многоугольник в растровую форму в произвольном порядке.

Для каждого пикселя (х,у) в многоугольнике вычислить его глубину z(х,у). Сравнитьz(x,у) со значениемZ(х,у) в буфере. Еслиz(x,у)>Z(x,у), то записать атрибут этого многоугольника в буфер кадра и заменитьZ(x,у) наz(х,у), иначе действий не производить.

Недостатки алгоритма – трудности в устранении лестничного эффекта, а также реализации прозрачности, теней.