Трехмерная компьютерная графика
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: шпаргалки по гражданскому, свобода реферат
| Добавил(а) на сайт: Патрикия.
Предыдущая страница реферата | 10 11 12 13 14 15 16 17 18 19 20 | Следующая страница реферата
Если это скалярное произведение < О, то изменить знак уравнения этой плоскости.
Сформировать матрицу тела.
Умножить ее слева на матрицу, обратную матрице видового преобразования, включающего перспективу.
Вычислить и запомнить габариты прямоугольной объемлющей оболочки преобразованного объема: xmin, xmax, ymin, ymax.
Определить нелицевые плоскости:
Вычислить скалярное произведение пробной точки, лежащей в бесконечности, на преобразованную матрицу тела.
Если это скалярное произведение < О, то плоскость невидима.
Удалить весь многоугольник, лежащий в этой плоскости. Это избавляет от необходимости отдельно рассматривать, невидимые линии, образуемые пересечением пар невидимых плоскостей.
Удаление из каждого тела тех ребер, которые экранируются всеми остальными телами в сцене:
Если задано только одно тело, то алгоритм завершается.
Сформировать приоритетный список этих тел:
Провести сортировку по z. Сортировка производится по максимальным значениям координаты z вершин преобразованных тел. Первым в упорядоченном списке и обладающим наибольшим приоритетом будет то тело, у которого минимальное среди максимальных значений z. В используемой правой системе координат это тело будет самым удаленным от точки наблюдения, расположенной в бесконечности на оси z.
Для каждого тела из приоритетного списка:
Проверить экранирование всех лицевых ребер всеми другими телами сцены. Тело, ребра которого проверяются, называется пробным объектом, а тело, относительно которого в настоящий момент производится проверка, называется пробным телом. Естественно, что нужно проверять экранирование пробного объекта только теми пробными телами, у которых ниже приоритеты.
Провести проверки экранирования для прямоугольных объемлющих оболочек пробного объекта и пробного тела:
Если xmin (пробное тело) > xmax (пробный объект) или xmax (пробное тело) < xmin (пробный объект) или ymin (пробное тело) > ymax (пробный объект) или ymax (пробное тело) < ymin (пробный объект),
то пробное тело не может экранировать ни одного ребра пробного объекта.
Перейти к следующему пробному телу. В противном случае:
Провести предварительные проверки протыкания, чтобы увидеть, не протыкается ли пробное тело пробным объектом и существует ли возможность частичного экранирования первого последним.
Сравнить максимальное значение z у пробного объекта с минимальным значением z у пробного тела.
Если zmax (пробный объект) < zmin (пробное тело), то протыкание невозможно. Перейти к следующему телу. В противном случае:
Проверить видимое протыкание.
Если zmin (пробный объект) > zmax (пробное тело), то пробный объект может проткнуть переднюю грань пробного тела.
Установить флаг видимого протыкания для последующего использования.
Занести проткнутое тело в список протыканий.
Рекомендуем скачать другие рефераты по теме: предмет культурологии, реферат на тему организация.
Категории:
Предыдущая страница реферата | 10 11 12 13 14 15 16 17 18 19 20 | Следующая страница реферата