Составители:
Рубрика:
24
загораживаться активной гранью, а активная грань не может быть загорожена
никакой гранью 2-й группы. Поэтому получится правильное изображение, если
сначала изобразить грани 2-й группы, затем активную грань, а затем грани 1-й
группы. Если активная грань разбивает какую-либо грань, но она разрезается на
две грани, которые входят в различные группы. Метод разбиения реализуется с
помощью рекурсии, когда каждая группа разбивается на подгруппы до тех пор,
пока грани не будут отсортированы. Результат можно представить в виде дерева.
В каждом узле находится активная грань, в левой ветви находится лицевая (т.е.
видимаям) грань по отношению к корневой, в правой- не лицевая (т.е. невидимая).
Последовательность изображения дерева (рис. 7): самой правой, начиная с
вершины, изображать сначала правую ветвь, затем корень, затем левую ветвь и
так вверх до главного корня, после чего спуск по левой ветви.
Метод z-буфера принадлежит к тому типу алгоритмов, в которых задача
загораживания решается с помощью использования аппаратных особенностей
компьютера. Реализуется в большинстве графических акселератов.
Требуется две области памяти: буфер глубины или z-буфер, в котором
хранятся координаты z(глубина) каждого анализируемого пиксела плоскостей
проецирования и буфер кадра, в котором хранятся атрибуты пикселов (как
правило цвет).
Метод Z- буфера для ортогональной проекции на плоскость XOY 3-х
мерной сцены, которая представлена многогранниками:
1. Инициализировать буфер кадра фоновыми значениями интенсивности
или цвета.
2. Инициализировать буфер глубины значениями глубины фона.
3. Для каждой грани сцены выполнять шаги.
4. Преобразовать проекцию грани в растровую форму.
5. Для каждого пиксела проекции вычислить его глубину Z.
6. Сравнить z с соответствующим значением буфера глубины Z.
7. Если z<Z, то:
8. Записать атрибуты этого пиксела в буфер кадра.
9. Записать значение z в соответствующую позицию буфера глубины Z.
10. Иначе никаких действий не производить.
Время выполнения зависит от разрешения и количества граней.
Г5
Г4
Г2
Г3
Г1
Г6
Г7
Г8
Рис. 7. Двоичное дерево граней
загораживаться активной гранью, а активная грань не может быть загорожена никакой гранью 2-й группы. Поэтому получится правильное изображение, если сначала изобразить грани 2-й группы, затем активную грань, а затем грани 1-й группы. Если активная грань разбивает какую-либо грань, но она разрезается на две грани, которые входят в различные группы. Метод разбиения реализуется с помощью рекурсии, когда каждая группа разбивается на подгруппы до тех пор, пока грани не будут отсортированы. Результат можно представить в виде дерева. В каждом узле находится активная грань, в левой ветви находится лицевая (т.е. видимаям) грань по отношению к корневой, в правой- не лицевая (т.е. невидимая). Последовательность изображения дерева (рис. 7): самой правой, начиная с вершины, изображать сначала правую ветвь, затем корень, затем левую ветвь и так вверх до главного корня, после чего спуск по левой ветви. Г1 Г7 Г2 Г4 Г8 Г3 Г5 Г6 Рис. 7. Двоичное дерево граней Метод z-буфера принадлежит к тому типу алгоритмов, в которых задача загораживания решается с помощью использования аппаратных особенностей компьютера. Реализуется в большинстве графических акселератов. Требуется две области памяти: буфер глубины или z-буфер, в котором хранятся координаты z(глубина) каждого анализируемого пиксела плоскостей проецирования и буфер кадра, в котором хранятся атрибуты пикселов (как правило цвет). Метод Z- буфера для ортогональной проекции на плоскость XOY 3-х мерной сцены, которая представлена многогранниками: 1. Инициализировать буфер кадра фоновыми значениями интенсивности или цвета. 2. Инициализировать буфер глубины значениями глубины фона. 3. Для каждой грани сцены выполнять шаги. 4. Преобразовать проекцию грани в растровую форму. 5. Для каждого пиксела проекции вычислить его глубину Z. 6. Сравнить z с соответствующим значением буфера глубины Z. 7. Если z
Страницы
- « первая
- ‹ предыдущая
- …
- 20
- 21
- 22
- 23
- 24
- …
- следующая ›
- последняя »