BigEdu.ru
» » » Реализация алгоритма обратной трассировки лучей для моделей с большим числом полигонов
Вернуться назад

Реализация алгоритма обратной трассировки лучей для моделей с большим числом полигонов

Факультет информатики и систем управления

Кафедра "Программное обеспечение ЭВМ и информационные технологии"

Курсовой проект

по машинной графике

Расчетно-пояснительная записка

Тема:

"Реализация алгоритма обратной трассировки лучей для моделей с большим числом полигонов"

Москва 2004

Оглавление

1. Введение

2. Конструкторская часть

2.1 Обоснование использованных алгоритмов

2.2 Структура данных

2.2.1 Источники света

2.2.2 Объекты для визуализации

2.2.3 Текстуры

2.3 Алгоритм обратной трассировки лучей

2.3.1 Описание алгоритма

2.3.2 Математическая основа обратной трассировки лучей

2.3.3 Составление матрицы

2.3.4 Программная реализация

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

2.3.4 Формирование отраженного луча

2.3.5 Формирование преломленного луча

2.4 Оболочки

2.4.1 Алгоритм построения иерархических оболочек

2.4.2 Алгоритм обхода оболочек в трассировке лучей

2.5 Текстурирование

2.5.1. Процедуры для работы с текстурами

2.5.2. Собственно текстурирование

2.6 Закраска Фонга

2.7 Освещение

2.7.1. Модель освещения Уиттеда

2.7.2 Диффузное отражение

2.7.3 Зеркальное отражение

2.7.4 Фоновая освещенность

2.7.5 Прозрачность

2.7.6 Процедуры расчета освещенности

3. Технологическая часть

3.1 Выбор языка программирования и обоснование выбора

3.2 Модульная структура программы

3.3 Интерфейс программы

4. Экспериментально-исследовательская часть

Тест № 1

Тест № 2

Тест № 3

Заключение

Список литературы

1. Введение

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

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

Целью моей курсовой было так же сделать алгоритм обратной трассировки как можно более быстрым. Для этого я применил метод иерархических оболочек. Его применение позволяет сделать время рендеринга, пропорциональным логарифму от числа объектов, а не числу объектов. Добиться с помощью этого реального времени, конечно, не удастся, но делает время ожидания приемлемым, равным порядка 5-30 секунд для 30000 треугольников на сцене.

Модуль Engine программы, может быть использован отдельно, в других программах Delphi. С помощью всего нескольких функций пользователь сможет задать сцену любой сложности и произвести рендеринг сцены. Модуль содержит функции для:

управления камерой

управления источниками света

задания объектов на сцене.

поворота объектов

рендеринга сцены

вывода изображения в задаваемое окно

По использованию модуль Engine очень похож на модуль OpenGL.

2. Конструкторская часть

2.1 Обоснование использованных алгоритмов

Главным алгоритмом, используемым в программе для удаления невидимых граней, а так же моделирования эффектов преломления и отражения, является алгоритм обратной трассировки лучей. Этот алгоритм позволил мне добиться максимальной реалистичности изображения. Он позволяет смоделировать распространение света в пространстве, учитывая законы геометрической оптики. Алгоритм можно быстро модернизировать, добавив в него обработку новых световых явлений. Алгоритм позволяет строить качественные тени с учетом большого числа источников света. Другие алгоритмы не позволяют так просто и качественно строить тени.

Достоинством алгоритма является то, что он не требователен к памяти, в отличие от алгоритма z-буфера. А недостатком является то, что работает он сравнительно долго и не позволяет строить изображения в реальном времени.

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

Для сглаж

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать
Курсовые работы по информатике и программированию Факультет информатики и систем управления Кафедра "Программное обеспечение ЭВМ и информационные технологии" Курсовой проект по
Оценок: 1002 (Средняя 5 из 5)

Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.

© 2016 - 2022 BigEdu.ru