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