Благодарю автора за ответственное отношение к выполнению заказа.
Подробнее о работе
Гарантия сервиса Автор24
Уникальность не ниже 50%
В современном мире сложно обойтись без компьютерной 3D-графики. Несмотря на то, что сам термин “компьютерная графика” появился лишь в 60-х годах прошлого века, трехмерная графика уже прочно вошла в наш мир и в настоящее время используется практически повсеместно: в науке и искусстве, в рекламе и дизайне, в киноиндустрии и видеоиграх, и т.д.
С высоким темпом развития технологий постоянно увеличивается мощность компьютеров и мобильных устройств, что также влечет за собой развитие компьютерной трехмерной графики, которая с каждым годом становится все реалистичнее. На данный момент эта область очень востребована.
Популярность и востребованность данной области вызывают интерес и желание понять сущность, объем и сложность процесса создания трехмерной графики, в связи с чем и возникла идея для курсового проекта.
Целью курсового проекта является визуализация динамической сцены с трехмерными объектами. Предметом визуализации был выбран вулкан. Сама модель вулкана может быть представлена как два объекта: статический холм, представляющим из себя усеченный конус, и поток лавы, стекающей по этому холму и изменяющей свой цвет (симуляция остывания).
Сразу стоит отметить, что в данной работе не ставилась задача непосредственно реализации правильного физического поведения жидкости, ввиду сложности реализующих его методов, которые, помимо всего прочего, требуют и большого количества вычислений. В связи с этим было решено, что анимация жидкости, присутствующей на сцене, должна лишь визуально напоминать реальное поведение настоящей лавы, не претендуя на абсолютную физическую точность.
ТИТУЛЬНЫЙ ЛИСТ
Введение………………………………………………………. 4
АНАЛИТИЧЕСКИЙ РАЗДЕЛ………………………………. 6
Постановка задачи…………………………………………… 6
Описание и анализ предметной области……………….... 6
Обзор существующих методов и алгоритмов………….... 7
Растеризация…………………………………………............ 9
Трассировка лучей……………………………………......... 12
Способы представления модели и требования, предъявляемые к алгоритму визуализации……………… 14
Оценка и сравнение существующих методов…………….. 16
Выбор алгоритма…………………………………………….... 18
КОНСТРУКТОРСКИЙ РАЗДЕЛ………………………….19
Алгоритм поиска пересечений луча с моделью вулкана.. 19
Алгоритм для нахождения освещения в точке…………... 23
Алгоритм для нахождения нормали в точке……………... 23
ТЕХНОЛОГИЧЕСКИЙ РАЗДЕЛ………………………… 25
Выбор среды разработки и языка программирования.…. 25
Диаграмма и описание классов…………………………….. 25
Интерфейс программы…………………………………….…. 30
ИССЛЕДОВАТЕЛЬСКИЙ РАЗДЕЛ……………………… 32
Примеры работы программы………………………………... 32
Заключение………………………………………………………35
Список использованной литературы……………………….. 36
Ключевые слова: трассировка лучей (raytracing), воксели (voxels), динамическое изображение, С++, Qt.
Курсовая работа по дисциплине "Компьютерная графика" на тему "Визуализация вулкана".
Краткое описание (более подробное см. ниже):
- включает в себя расчетно-пояснительную записку на 37 листов и исходные коды
- написана на C++ и Qt (Qt используется для граф. интерфейса и рисования изображения)
- не используются физические расчеты; для движения жидкости используется простой собственный алгоритм движения лавы (частиц жидкости)
- для создания изображения используется метод трассировки лучей
- есть тени, можно менять позицию источника освещения
- модель задается не полигонами, а вокселями (внутри программы, без загрузки файлов и прочего)
- описаны собственные классы
- программа использует многопоточные вычисления (без использования видеокарты, т.е. программа будет работать на любом компьютере/ноутбуке)
- написана в среде QtCreator, исходные коды идут в архиве, сборка возможна как под Windows, так и под MacOS
- в коде присутствуют комментарии
В работе строится модель вулкана (представляет собой статичный холм и движущуюся лаву, которая меняет цвет, симулируя остывание). Модель представлена вокселями (маленькими кубиками), создается в самой программе. Для создания изображения используется метод трассировки лучей. Имеется возможность менять источник освещения, что влияет на расположение теней.
ВАЖНО: в данной работе не используются физические расчеты, критерием была лишь визуальная схожесть. Для движения жидкости (частиц) придуман собственный простой алгоритм.
Computer graphics : principles and practice / John F. Hughes, Andries van Dam, Morgan McGuire, David F. Sklar, James D. Foley, Steven K. Feiner, Kurt Akeley.—Third edition.;
Combining Rasterization and Ray Tracing Techniques to Approximate Global Illumination in Real-Time / João Cabeleira. [Электронный ресурс] – Режим доступа: https://pdfs.semanticscholar.org/008d/6628e0787a95b802dae28546593078d4ab7a.pdf
What’s the Difference Between Ray Tracing and Rasterization? / Brian Caulfield. [Электронный ресурс] – Режим доступа: https://blogs.nvidia.com/blog/2018/03/19/whats-difference-between-ray-tracing-rasterization/
Interactive Ray Tracing / A.J. van der Ploeg. [Электронный ресурс] – Режим доступа: http://www.few.vu.nl/~kielmann/theses/avdploeg.pdf
Introduction to Realtime Ray Tracing / Philipp Slusallek, Peter Shirley, Bill Mark, Gordon Stoll, Ingo Wald. SIGGRAPH 2005. [Электронный ресурс] – Режим доступа: https://slideplayer.com/slide/8456919/
Регулярные сетки для высоко реалистичной визуализации 3D сцен в реальном времени / А.В. Мальцев, М.В. Михайлюк. [Электронный ресурс]. — Режим доступа: http://www.isa.ru/jitcs/images/documents/2012-04/49_58.pdf
Efficient Sparse Voxel Octrees – Analysis, Extensions, and Implementation / Samuli Laine, Tero Karras. NVIDIA Research
[Электронный ресурс]. — Режим доступа: https://users.aalto.fi/~laines9/publications/laine2010tr1_paper.pdf
Efficient acceleration structures for ray tracing static and dynamic scenes / Thiago Ize. [Электронный ресурс]. — Режим доступа: http://www.cs.utah.edu/~thiago/papers/thesis_ize.pdf — С. 5-6.
KD-Tree Acceleration Structures for a GPU Raytracer / Tim Foley and Jeremy Sugerman. [Электронный ресурс]. — Режим доступа: https://graphics.stanford.edu/papers/gpu_kdtree/kdtree.pdf
A Fast Voxel Traversal Algorithm for Ray Tracing / John Amanatides, Andrew Woo. [Электронный ресурс]. — Режим доступа: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.42.3443&rep=rep1&type=pdf
Rendering (computer graphics). [Электронный ресурс]. — Режим доступа: https://en.wikipedia.org/wiki/Rendering_(computer_graphics)#Techniques
Backward v/s Forward Ray Tracing — Режим доступа: http://ray-tracing-conept.blogspot.com/2015/01/backward-vs-forward-ray-tracing.html
Z-buffering [Электронный ресурс]. — Режим доступа: https://en.wikipedia.org/wiki/Z-buffering#Uses
Не подошла эта работа?
Закажи новую работу, сделанную по твоим требованиям
В современном мире сложно обойтись без компьютерной 3D-графики. Несмотря на то, что сам термин “компьютерная графика” появился лишь в 60-х годах прошлого века, трехмерная графика уже прочно вошла в наш мир и в настоящее время используется практически повсеместно: в науке и искусстве, в рекламе и дизайне, в киноиндустрии и видеоиграх, и т.д.
С высоким темпом развития технологий постоянно увеличивается мощность компьютеров и мобильных устройств, что также влечет за собой развитие компьютерной трехмерной графики, которая с каждым годом становится все реалистичнее. На данный момент эта область очень востребована.
Популярность и востребованность данной области вызывают интерес и желание понять сущность, объем и сложность процесса создания трехмерной графики, в связи с чем и возникла идея для курсового проекта.
Целью курсового проекта является визуализация динамической сцены с трехмерными объектами. Предметом визуализации был выбран вулкан. Сама модель вулкана может быть представлена как два объекта: статический холм, представляющим из себя усеченный конус, и поток лавы, стекающей по этому холму и изменяющей свой цвет (симуляция остывания).
Сразу стоит отметить, что в данной работе не ставилась задача непосредственно реализации правильного физического поведения жидкости, ввиду сложности реализующих его методов, которые, помимо всего прочего, требуют и большого количества вычислений. В связи с этим было решено, что анимация жидкости, присутствующей на сцене, должна лишь визуально напоминать реальное поведение настоящей лавы, не претендуя на абсолютную физическую точность.
ТИТУЛЬНЫЙ ЛИСТ
Введение………………………………………………………. 4
АНАЛИТИЧЕСКИЙ РАЗДЕЛ………………………………. 6
Постановка задачи…………………………………………… 6
Описание и анализ предметной области……………….... 6
Обзор существующих методов и алгоритмов………….... 7
Растеризация…………………………………………............ 9
Трассировка лучей……………………………………......... 12
Способы представления модели и требования, предъявляемые к алгоритму визуализации……………… 14
Оценка и сравнение существующих методов…………….. 16
Выбор алгоритма…………………………………………….... 18
КОНСТРУКТОРСКИЙ РАЗДЕЛ………………………….19
Алгоритм поиска пересечений луча с моделью вулкана.. 19
Алгоритм для нахождения освещения в точке…………... 23
Алгоритм для нахождения нормали в точке……………... 23
ТЕХНОЛОГИЧЕСКИЙ РАЗДЕЛ………………………… 25
Выбор среды разработки и языка программирования.…. 25
Диаграмма и описание классов…………………………….. 25
Интерфейс программы…………………………………….…. 30
ИССЛЕДОВАТЕЛЬСКИЙ РАЗДЕЛ……………………… 32
Примеры работы программы………………………………... 32
Заключение………………………………………………………35
Список использованной литературы……………………….. 36
Ключевые слова: трассировка лучей (raytracing), воксели (voxels), динамическое изображение, С++, Qt.
Курсовая работа по дисциплине "Компьютерная графика" на тему "Визуализация вулкана".
Краткое описание (более подробное см. ниже):
- включает в себя расчетно-пояснительную записку на 37 листов и исходные коды
- написана на C++ и Qt (Qt используется для граф. интерфейса и рисования изображения)
- не используются физические расчеты; для движения жидкости используется простой собственный алгоритм движения лавы (частиц жидкости)
- для создания изображения используется метод трассировки лучей
- есть тени, можно менять позицию источника освещения
- модель задается не полигонами, а вокселями (внутри программы, без загрузки файлов и прочего)
- описаны собственные классы
- программа использует многопоточные вычисления (без использования видеокарты, т.е. программа будет работать на любом компьютере/ноутбуке)
- написана в среде QtCreator, исходные коды идут в архиве, сборка возможна как под Windows, так и под MacOS
- в коде присутствуют комментарии
В работе строится модель вулкана (представляет собой статичный холм и движущуюся лаву, которая меняет цвет, симулируя остывание). Модель представлена вокселями (маленькими кубиками), создается в самой программе. Для создания изображения используется метод трассировки лучей. Имеется возможность менять источник освещения, что влияет на расположение теней.
ВАЖНО: в данной работе не используются физические расчеты, критерием была лишь визуальная схожесть. Для движения жидкости (частиц) придуман собственный простой алгоритм.
Computer graphics : principles and practice / John F. Hughes, Andries van Dam, Morgan McGuire, David F. Sklar, James D. Foley, Steven K. Feiner, Kurt Akeley.—Third edition.;
Combining Rasterization and Ray Tracing Techniques to Approximate Global Illumination in Real-Time / João Cabeleira. [Электронный ресурс] – Режим доступа: https://pdfs.semanticscholar.org/008d/6628e0787a95b802dae28546593078d4ab7a.pdf
What’s the Difference Between Ray Tracing and Rasterization? / Brian Caulfield. [Электронный ресурс] – Режим доступа: https://blogs.nvidia.com/blog/2018/03/19/whats-difference-between-ray-tracing-rasterization/
Interactive Ray Tracing / A.J. van der Ploeg. [Электронный ресурс] – Режим доступа: http://www.few.vu.nl/~kielmann/theses/avdploeg.pdf
Introduction to Realtime Ray Tracing / Philipp Slusallek, Peter Shirley, Bill Mark, Gordon Stoll, Ingo Wald. SIGGRAPH 2005. [Электронный ресурс] – Режим доступа: https://slideplayer.com/slide/8456919/
Регулярные сетки для высоко реалистичной визуализации 3D сцен в реальном времени / А.В. Мальцев, М.В. Михайлюк. [Электронный ресурс]. — Режим доступа: http://www.isa.ru/jitcs/images/documents/2012-04/49_58.pdf
Efficient Sparse Voxel Octrees – Analysis, Extensions, and Implementation / Samuli Laine, Tero Karras. NVIDIA Research
[Электронный ресурс]. — Режим доступа: https://users.aalto.fi/~laines9/publications/laine2010tr1_paper.pdf
Efficient acceleration structures for ray tracing static and dynamic scenes / Thiago Ize. [Электронный ресурс]. — Режим доступа: http://www.cs.utah.edu/~thiago/papers/thesis_ize.pdf — С. 5-6.
KD-Tree Acceleration Structures for a GPU Raytracer / Tim Foley and Jeremy Sugerman. [Электронный ресурс]. — Режим доступа: https://graphics.stanford.edu/papers/gpu_kdtree/kdtree.pdf
A Fast Voxel Traversal Algorithm for Ray Tracing / John Amanatides, Andrew Woo. [Электронный ресурс]. — Режим доступа: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.42.3443&rep=rep1&type=pdf
Rendering (computer graphics). [Электронный ресурс]. — Режим доступа: https://en.wikipedia.org/wiki/Rendering_(computer_graphics)#Techniques
Backward v/s Forward Ray Tracing — Режим доступа: http://ray-tracing-conept.blogspot.com/2015/01/backward-vs-forward-ray-tracing.html
Z-buffering [Электронный ресурс]. — Режим доступа: https://en.wikipedia.org/wiki/Z-buffering#Uses
Купить эту работу vs Заказать новую | ||
---|---|---|
0 раз | Куплено | Выполняется индивидуально |
Не менее 40%
Исполнитель, загружая работу в «Банк готовых работ» подтверждает, что
уровень оригинальности
работы составляет не менее 40%
|
Уникальность | Выполняется индивидуально |
Сразу в личном кабинете | Доступность | Срок 1—6 дней |
5000 ₽ | Цена | от 500 ₽ |
Не подошла эта работа?
В нашей базе 149284 Курсовой работы — поможем найти подходящую