Введение 3
Цель и задачи 4
Глава 1.Необходимые инструменты и технологии 5
1.1. Что такое OpenGL 5
1.2. Входные данные 6
1.3. Меню навигации 8
1.4. Render timer 9
Глава 2.Создание трехмерной модели 11
2.1. Инициализация OpenTK и области рисования 11
2.2. Основные матричные преобразования 12
2.3. Вращение и перемещение 16
2.4. Тесселяция 19
2.5. Текстурирование 22
2.6. Отрисовка изображения 24
Глава 3. Ускорение вычислений 27
3.1. Параллельные вычисления 27
3.2. Потоки и область рисования 28
3.3. Параллельная обработка входных данных 29
Выводы 31
Список литературы 32
Приложения должны быть в работе, но в настоящий момент отсутствуют
На протяжении всей истории люди стремятся зафиксировать изображения окружающих их предметов для передачи и изучения информации или развлечения. С развитием технологий появляются новые способы реализации этих стремлений. Холст заменяет собой древний камень, и от наскальных рисунков прогресс приводит людей к картинам великих художников. Одновременно с этим, переход от двумерных картин к объемным позволяет рассмотреть изображаемый объект более подробно. Так появляется новый вид изображений – трехмерное, реализованное в скульптуре, который невозможен был бы без развития инструментов.
В современном мире появился еще один способ хранения и передачи информации – цифровой. Объекты, созданные таким образом, не ограничены законами физики, требуют меньше затрат и намного проще в обращении. В наше время область применения трехмерной графики постоянно расширяется. 3D моделирование применяется при создании и производстве всевозможных устройств, в медицине, а также при изучении физических процессов и во многих других областях. Технологии прошли долгий путь от простейших моделей, позволяющих наглядно продемонстрировать определенный процесс, до сложных, полностью описывающих реальные объекты и их взаимодействие.
В данной работе была рассмотрена одна из возможностей 3D графики – построение конструктивной модели корпуса корабля. Ее отличительная особенность в том, что она реализует чертеж реального объекта и может использоваться при построении, ремонте или модификации.
Цели и задачи
Корпус корабля представлен документом формата XML. Поставлена задача: на его основе построить трехмерную конструктивную модель, то есть полностью передающую особенности конструкции и достоверно отображающую все элементы. Для работы с моделью требовалось реализовать функции вращения и перемещения объекта в трех измерениях, возможность выбора отображаемых отсеков из представленного списка. Перемещение должно осуществляться при помощи клавиатуры, а вращение –посредством мыши.
Целью данной работы является разработка программного продукта, основанного на стандарте OpenGL, удовлетворяющего требованиям, поставленным в задаче.
В результате проведенного исследования нам удалось построить модель корпуса корабля на основе документа формата XML с использованием технологий OpenGL.Был создан программный продукт реализующий отображение корпуса корабля. Удалось реализовать весь простейший функционал для взаимодействия с ним и добиться его правильной работы. Все манипуляции осуществляются при помощи стандартных средств ввода – мыши и клавиатуры. Отображение определенных элементов модели задается при помощи дерева элементов в боковой части интерфейса пользователя.