Тема: Разработка демонстрационного комплекса для алгоритмов загораживания Робертса, Аппеля, Z-буфера
Характеристики работы
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
ВВЕДЕНИЕ 8
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 10
1.1. ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ 10
1.2. ОБЗОР АНАЛОГОВ 12
1.3. РАЗРАБОТКА НОВОГО РЕШЕНИЯ 15
2. ПЛАНИРОВАНИЕ 17
2.1. ОСНОВНЫЕ ТРЕБОВАНИЯ 17
2.2. ПЛАТФОРМА 18
2.3. АНАЛИЗ И ВЫБОР СРЕДСТВ РАЗРАБОТКИ 19
2.4. АНАЛИЗ И ВЫБОР ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ .... 21
3. ПРОЕКТИРОВАНИЕ 22
4. РЕАЛИЗАЦИЯ 29
4.1. АЛГОРИТМЫ УДАЛЕНИЯ НЕВИДИМЫХ ЛИНИЙ 32
4.1.1 Тест видимости 34
4.1.2 Алгоритм Робертса 40
4.1.3 Алгоритм Аппеля 49
4.1.4 Алгоритм Z-буфера 55
4.2. РЕАЛИЗАЦИЯ ГРАФИЧЕСКОГО ИНТЕРФЕЙСА 65
5. ТЕСТИРОВАНИЕ 76
6. ЗАКЛЮЧЕНИЕ 77
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 79
📖 Аннотация
📖 Введение
Знание основ того, каким образом строится изображение на компьютере, необходимо каждому специалисту, связанному с IT-сферой. Это позволяет осуществлять разработку, осваивать современные графические системы. Поэтому изучение основ компьютерной графики является обязательным компонентом учебных программ по информационным направлениям.
В то же время современная компьютерная графика - сложная и разнообразная научно-техническая дисциплина. Большинство алгоритмов компьютерной графики к настоящему времени имеют под собой достаточно подробную теоретическую основу с использованием математического аппарата. Это, наряду с отсутствием достаточного количества примеров демонстрации применения, делает их затруднительными в изучении для большинства студентов. Так как одним из методов повышения эффективности обучения является наглядность, имеет смысл визуализировать работу отдельных алгоритмов с помощью технологий компьютерного моделирования.
В настоящее время нет единого комплекса примеров демонстрации алгоритмов, существуют лишь отдельные файлы, написанные на различных языках программирования, для разных операционных систем. Данные файлы необходимо искать, скачивать, на это тратится время, причем не гарантируется безопасность файлов, корректность алгоритмов. Также файлы могут оказаться и вовсе неработоспособными.
Этими обстоятельствами обоснована необходимость разработки демонстрационного программного комплекса для изучения алгоритмов представления графической информации.
В рамках дипломной работы охватить все эти алгоритмы невозможно. Поэтому, в соответствии с заданием, будет разработан программный комплекс по методам и алгоритмам удаления невидимых линий и поверхностей. В проект кроме визуализации алгоритмов входит теоретический материал по ним, блок- схемы. Теоретический материал взят из учебно-методического пособия «Методы и средства представления графической информации» автора к.т.н. Ярош Е.С., алгоритмы реализованы по этому же пособию [1].
Целью выпускной квалификационной работы является разработка демонстрационного комплекса программ для изучения следующих алгоритмов загораживания: Робертса, Аппеля, Z-буфера.
Для достижения поставленной цели, необходимо решить следующие задачи:
1. Рассмотреть алгоритмы загораживания, указанные в задании.
2. Сделать обзор существующих аналогов, демонстрирующих работу алгоритмов.
3. Выбрать инструменты для разработки системы.
4. Разработать архитектуру собственного программного комплекса.
5. Выполнить программную реализацию программного комплекса.
6. Оценить работоспособность готового программного комплекса.
✅ Заключение
В ходе выполнения работы решены следующие задачи:
1. Обоснована актуальность разработки.
2. Проведен обзор аналогов.
3. Выбраны инструменты разработки.
4. Спроектирована программная система.
5. Выполнена реализация проекта.
В приложение включены наиболее распространенные алгоритмы загораживания:
- алгоритм Робертса;
- алгоритм Аппеля;
- алгоритм Z-буфера.
Для того, чтобы определить требования к программной системе, была построена модель прецедентов с описанием функционала. По выделенным подсистемам демонстрационного комплекса было проведено описание основных модулей системы, построены диаграммы ее компонентов.
На языке программирования C# было разработано приложение, демонстрирующее применение алгоритмов загораживания, а также произведена интеграция теоретического материала в приложение для более подробного изучения пользователем предметной области. Для работы с графикой использовалась внешняя библиотека OpenTK (OpenGL 4.0). Готовый демонстрационный комплекс позволяет проследить все стадии изменения объекта при применении к нему каждого из алгоритмов.
Предусмотрено задание и сохранение настроек визуализации (положение точки наблюдения, выделение элементов цветом), которые в последующем запуске программы восстанавливаются. При ошибках вычислений обрабатываются исключения, пользователь получает информационное окно с указанием ошибки.
Преимущества разработанного ДПК перед найденными решениями:
- материал структурирован, сопровождается подробным объяснением;
- алгоритмы располагаются в одном месте, что обеспечивает удобство и исключает затраты на поиск;
- предоставление настроек визуализации, а именно ввод исходных данных, изменение скорости визуализации, изменение положения точки наблюдения;
- гарантия работоспособности и безопасности.
Разработка приложения закончена и передана заказчику.
Полный исходный код ДПК представлен в репозитории GitHub [21].
Некоторые перспективы развития: данный продукт можно доработать до универсального учебного пособия по машинной графике, добавив другие темы для изучения (например, закрашивание, отсечение отрезков).





