Внимание! Studlandia не продает дипломы, аттестаты и иные документы об образовании. Наши специалисты оказывают услуги консультирования и помощи в написании студенческих работ: в сборе информации, ее обработке, структурировании и оформления работы в соответствии с ГОСТом. Все услуги на сайте предоставляются исключительно в рамках законодательства РФ.
Нужна индивидуальная работа?
Подберем литературу
Поможем справиться с любым заданием
Подготовим презентацию и речь
Оформим готовую работу
Узнать стоимость своей работы
Дарим 200 руб.
на первый
заказ

Курсовая работа на тему: Конструкторская часть. Обоснование использованных алгоритмов

Купить за 350 руб.
Страниц
29
Размер файла
92.42 КБ
Просмотров
12
Покупок
0
Компьютерной графике сегодняшний день большое внимание уделяется алгоритмам получения реалистических изображений. Эти алгоритмы являются самыми затратными по времени. Обусловлено это тем, что они

Введение

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

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

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

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

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

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

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

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

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

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

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

Оглавление

- 1. Введение

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

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

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

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

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

- Текстуры

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

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

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

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

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

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

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

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

- Оболочки

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

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

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

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

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

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

- Освещение

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

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

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

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

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

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

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

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

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

- Интерфейс программы 4. Экспериментально-исследовательская часть Тест

- Тест

- Тест

- Заключение

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

Заключение

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

Реализован алгоритм обратной трассировки лучей, позволяющий строить тени, сглаживать и текстурировать поверхности.

Для ускорения используется метод иерархических оболочек, делающий алгоритм трассировки очень быстрым.

Помимо этого в программе:

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

Поддерживается освещение со специальными эффектами. Источник может светить во все стороны, а может светить в определенном телесном угле. Существует возможность сделать так, чтобы интенсивность источника уменьшалась при приближении к краям телесного угла.

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

Существует множество вариантов модернизации программы.

Модернизация алгоритма трассировки:

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

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

Написание трехмерного редактора, который будет позволять:

редактировать геометрию объектов на сцене

редактировать свойства материалов

добавлять и удалять объекты сцены.

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

загружать и сохранять сцены. Для этого понадобится введение специального формата.

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

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

1. Роджерс Д. Алгоритмические основы машинной графики: пер. с англ. - М.: Мир, 1989.

2. Порев В.Н. Компьютерная графика 2004.

3. Тихомиров Ю. Программирование трехмерной графики. - СПб.: ИРМ - Санкт-Петербург, 1998.

4. Гантмахер Ф.Р. Теория матриц. - М.: Наука, 1967.

Как купить готовую работу?
Авторизоваться
или зарегистрироваться
в сервисе
Оплатить работу
удобным
способом
После оплаты
вы получите ссылку
на скачивание
Страниц
29
Размер файла
92.42 КБ
Просмотров
195
Покупок
0
Конструкторская часть. Обоснование использованных алгоритмов
Купить за 350 руб.
Похожие работы
Сумма к оплате
500 руб.
Купить
Заказать
индивидуальную работу
Гарантия 21 день
Работа 100% по ваши требованиям
от 1 000 руб.
Заказать
Прочие работы по предмету
Страниц
20
Просмотров
317
Покупок
0
250 руб.
Страниц
68
Просмотров
459
Покупок
0
600 руб.
Страниц
14
Просмотров
111
Покупок
0
250 руб.
Сумма к оплате
500 руб.
Купить
Заказать
индивидуальную работу
Гарантия 21 день
Работа 100% по ваши требованиям
от 1 000 руб.
Заказать
103 972 студента обратились
к нам за прошлый год
1950 оценок
среднее 4.2 из 5
Михаил Очень долго искала эксперта, который сможет выполнить работу. Наконец-то нашла. Работа выполнена в срок, все,как...
Юлия работа выполнена отлично, раньше срока, недочётов не обнаружено!
Юлия Работа выполнена качественно и в указанный срок
Ярослава Эксперта рекомендую !!!! Все четко и оперативно. Спасибо большое за помощь!Буду обращаться еще.
Ярослава Благодарю за отличную курсовую работу! Хороший эксперт, рекомендую!
Марина Хорошая и быстрая работа, доработки выполнялись в кратчайшие сроки! Огромной спасибо Марине за помощь!!! Очень...
Мария Благодарю за работу, замечаний нет!
Елена Елена прекрасно справилась с задачей! Спасибо большое за великолепно выполненную работу! Однозначно рекомендую!
Михаил Михаил отличный эксперт! Работу сделал раньше заявленного срока, все недочеты поправили, работой довольна! 5+
Мария Благодарю за работу! Замечаний нет!