Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по компьютерной графике [по билетам].doc
Скачиваний:
68
Добавлен:
02.05.2014
Размер:
805.89 Кб
Скачать

Трассировка лучей

Метод трассировки лучей используется не только для удаления невидимых частей, но, в основном, для получения фотореалистичных изображений с учетом отражений и преломлений света.

Прямой трассировкой лучей называется процесс расчета освещения сцены с испусканием от всех источников лучей во всех направлениях. При попадании на какой-либо объект сцены луч света может, преломившись, уйти внутрь тела или отразившись далее продолжить прямолинейное распространение до попадания на следующий объект и так далее. Следовательно, каждая точка сцены может освещаться либо напрямую источником, либо отраженным светом. Часть лучей, в конце концов, попадет в глаз наблюдателя и сформирует в нем изображение сцены.

Понятно, что вычисления, необходимые для трассировки всех лучей для всех источников и поверхностей слишком объемисты. Причем существенный вклад в полученное изображение внесет лишь небольшая часть оттрассированных лучей.

Для избавления от излишних вычислений используется обратная трассировка, в которой вычисляются интенсивности только лучей, попавших в глаз наблюдателя. В простейшей реализации обратной трассировки отслеживаются лучи, проходящие из глаза наблюдателя через каждый пиксель экрана в сцену. На каждой поверхности сцены, на которую попадает луч, в общем случае формируются отраженный и преломленный лучи. Каждый из таких лучей отслеживается, чтобы определить пересекаемые поверхности. В результате для каждого пикселя строится дерево пересечений. Ветви такого дерева представляют распространение луча в сцене, а узлы - пересечения с поверхностями в сцене. Окончательная закраска определяется прохождением по дереву и вычислением вклада каждой пересеченной поверхности в соответствии с используемыми моделями отражения. При этом различают и обычно по-разному рассчитывают первичную освещенность, непосредственно получаемую от источников света, и вторичную освещенность, получаемую от других объектов.

Излучательность

Сцену можно представить как набор поверхностей, обменивающихся лучистой энергией. Большинство реальных поверхностей является диффузными отражателями, когда падающий луч отражается или рассеивается во всех направлениях полусферы, находящейся над отражающей поверхностью. Особый здесь случай - отражение Ламберта (идеальная диффузия). Метод излучательности описывает баланс энергетического равновесия в замкнутой системе. Предполагается что поверхности идеально диффузны, т.е. после отражения падающий луч пропадает. Излучательность отдельной поверхности включает самоизлучение и отраженный или пропущенный свет.

Задачи вычислительной геометрии: задача рационального поиска, задача локализации. Принадлежность точки многоугольнику. Уникальный запрос. Массовый запрос.

Вычислительная геометрия - наука, занимающаяся разработ­кой и анализом эффективности различных геометрических задач, предназначенных для реализации на ЭВМ.

Пусть имеется набор геометрических данных и нужно узнать, обладают ли они определенным свойством (скажем, выпуклостью). В простейшем случае, когда этот вопрос возникает единожды, не нужно проводить предобработку с целью ускорить прохождение последую­щих запросов. Назовем разовый запрос такого типа уникальным. Однако будут и запросы, обработка которых повторяется многократно на том же самом файле. Такие запросы назовем массовыми.

Две главные модели для задач гео­метрического поиска:

    1. Задачи локализации, когда файл представляет собой разбие­ние геометрического пространства на области, а запрос является точ­кой. Локализация состоит в определении области, содержащей за­прошенную точку.

    2. Задачи регионального поиска, когда файл содержит набор то­чек пространства, а запрос есть некая стандартная геометрическая фигура, произвольно перемещаемая в этом пространстве (типичный запрос в 3-мерном пространстве — это шар или брус). Региональный поиск состоит в извлечении (задачи отчета) или в подсчете числа (задачи подсчета) всех точек внутри запросного региона (области)

Определение принадлежности точки непересекающемуся многоугольнику

Выпустим из точки А(х, у) произвольный луч и найдем количе­ство точек пересечения этого луча с границей многоугольника. Если отбросить случай, когда луч проходит через какую-либо вершину многоугольника, то решение задачи тривиально - точка лежит внут­ри, если количество точек пересечения нечетно, и снаружи, если чет­но.

Приходим к следующему алгоритму. Все отрезки, кроме горизонтального, проверяются на пересечение с горизонталь­ным лучом, выходящим из точки А. При попадании луча в вершину пересечение засчитывается только с теми отрезками, выходящими из вершины, для которых она является верхней.

Билет 18