Работа с 3D-моделями в 3D max

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

Оглавление

 

1. Введение

. Обзор методов решения задачи

. Разработка общей архитектуры модели

. Разработка модели движения 3D модели

.1 Система координат

.2. Преобразование в трехмерном пространстве

. Разработка модели освещения 3D сцены

. Программная реализация системы моделирования движения 3D объекта

. Пример использования разработанной системы

. Заключение

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

 

1. Введение

 

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

 

2. Обзор методов решения задач

 

Задача состоит в возможности работать с 3D-моделями на 3D-сцене. Для этого в Microsoft Vusial C# приходится добавлять специальные библиотеки, платформы специально разработанные для этих действий, чтобы упростить работу в самой среде. Самые распространенные в данные момент это три платформы OpenGL, XNA Game Studio и WPF(Windows Presentation Foundation) . OpenGL (Open Graphics Library - открытая графическая библиотека, графическое API) - спецификация, определяющая независимый от языка прораммирования платформонезависимый программный интерфейс для написания приложений, использующих двухмерную и трёхмерную компьютерную графику. На базовом уровне, OpenGL - это просто спецификация, то есть документ, описывающий набор функций и их точное поведение. Производители оборудования на основе этой спецификации создают реализации - библиотеки функций, соответствующих набору функций спецификации. Реализация использует возможности оборудования там, где это возможно. Если аппаратура не позволяет реализовать какую-либо возможность, она должна быть эмулирована программно. Производители должны пройти специфические тесты (conformance tests - тесты на соответствие) прежде чем реализация будет классифицирована как OpenGL реализация. Таким образом, разработчикам программного обеспечения достаточно научиться использовать функции, описанные в спецификации, оставив эффективную реализацию последних разработчикам аппаратного обеспечения. Windows Presentation Foundation (WPF) - система для построения клиентских приложений Windows с визуально привлекательными возможностями взаимодействия с пользователем, графическая (презентационная) подсистема в составе .NET Framework (начиная с версии 3.0), использующая язык XAML. Microsoft XNA (англ. XNAs Not Acronymed) - набор инструментов с управляемой средой времени выполнения (.NET), созданный Microsoft, облегчающий разработку и управление компьютерными играми. XNA стремится освободить разработку игр от написания повторяющегося шаблонного кода и объединить различные аспекты разработки игр в одной системе. Набор инструментов XNA был анонсирован 24 марта 2004 на Game Developers Conference в Сан-Хосе, Калифорния. Первый Community Technology Preview XNA Build был выпущен 14 марта 2006.

Первая платформа наиболее древняя из трех представленных и больше разрабатывалась под С++. Сравнивая две оставшиеся платформы я пришел к выводу, что XNA Studio более удобен в по ряду причин. В плане возможностей работы с 3D-моделями, легкости нахождения информации.

 

3. Разработка общей архитектуры системы

 

Логически архитектуру данной системы можно представить в виде:

 

Рис.1. Логически простроенная архитектура системы

 

Как видно все можно разделить на три логических блока. В первом производится прием данных от пользователя. После следует вычисления относительно вводимых данных. И последний блок это построение сцены относительно вычислений. Для данного проекта все три блока зациклены, чтобы иметь возможность в любой момент времени реагировать на данные которые мы вводим.

Если раскрывать все блоки, то мы получим архитектуру нашего проекта (Табл. 1).

 

Таблица 1. Архитектура проекта

ИнициализацияНа этапе инициализации проекта проводится инициализация графической и звуковых подсистем, системы ввода данных.Загрузка ресурсовЗдесь загружаются ресурсы, такие, как текстуры и трехмерные модели, звуки, шрифты.Начало циклаОсновные действия, которые выполняются при работе программы, организованы в виде цикла. Фактически, цикл - это обязательный элемент любой программы с 3д-моделями.Считывание данных пользовательского вводаПользователь управляет программой с помощью различных устройств ввода данных. В нашем случае это - клавиатура и мышь. Здесь так же может обрабатываться информация, поступающая от других устройств ввода. Например - от джойстика.ВычисленияВычисления включают в себя все вычисления, которые необходимы для организации процесса. В частности, здесь обсчитываются позиции объектов, проводятся вычисления, вычисления, связанные с проверкой столкновений объектов и так далее. Если речь идет об оптимизации быстродействия программы, то такая оптимизация обычно касается именно вычислений, так как на них тратится большая часть времени выполнения цикла.Проверка критерия прекращения программыЦикл продолжается до тех пор, пока программа не будет прекращена. Например, критерием останова может быть истечение ?/p>