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

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

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

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

В программе раннее описанную архитектуру представляют ряд методов.() - Общая инициализация. Game1() - это конструктор класса Game1, который выполняется при создании объекта Game в процедуре Main файла Program.cs.() - Инициализация. Сюда же добавляют команды для инициализации звуковой подсистемы игры. Надо отметить, что в этом методе инициализируется все, кроме графических ресурсов игры() - Загрузка ресурсов.() - Запуск цикла.

Цикл в стандартном проекте состоит из двух методов.() - Первый из них - это метод Update(), в котором выполняется прием пользовательского ввода, все необходимые вычисления, проверка критериев останова программы.() - Второй метод цикла - это метод Draw(), который содержит код для визуализации графики.() - По окончании цикла этот метод освобождает системные ресурсы.

С помощью этих стандартных методов работа с моделирование упрощается достаточно существенно. Теперь осталось разработать модели обеспечивающие поставленную задачу.

 

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

 

Понятие 3D подразумевает под собой систему координат. И поэтому чтобы разработать модель движения изначально надо разобрать систему координат которая используется в программе. И после разберем метод который отвечает за движения который называется Преобразование в трехмерном пространстве.

 

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

 

При работе с трехмерной графикой используется несколько видов систем координат. Для отображения двумерных объектов нам была нужна соответствующая система координат с двумя осями - горизонтальной осью X и вертикальной осью Y. Напомним, что экранная система координат для двумерной графики имеет начало (точку 0,0) в левом верхнем углу монитора, положительная часть оси X располагается справа от начала координат, положительная часть оси Y - снизу.

Для работы с трехмерными объектами нам понадобится еще одна ось - она называется ось Z. Существует несколько вариантов трехмерных систем координат, в частности, распространены так называемые правосторонняя и левосторонняя системы. Мы будем пользоваться правосторонней системой - она применяется в XNA Framework. Её схематичное изображение приведено на рис. 2

Рис. 2. Правосторонняя система координат

 

Особенность этой системы координат заключается в том, что начало координат можно сопоставить с левым нижним углом монитора, положительная часть оси X находится справа от начала координат, положительная часть оси Y - сверху, а положительная часть оси Z - спереди. А это значит, что видимая часть оси Z - это её отрицательная часть. Эта часть оси находится как бы в глубине монитора, в то время, как положительная часть находится спереди монитора. На рис. 2. пунктиром изображена отрицательная часть оси Z.

В двумерной системе координат существует понятие точки - ее координаты задаются двумя значениями - X и Y. Точки существуют и в трехмерной системе координат - они задаются уже тремя значениями - X, Y, Z.

Точки используют для того, чтобы задавать координаты вершин многоугольников (полигонов), в частности - треугольников. Так, треугольник, изображенный на рис. 2., задан тремя точками - A, B, C.

Как правило, более сложные трехмерные объекты строятся именно из треугольников.

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

Чем больше треугольников использовано при построении модели - тем более детализированной она получается. Точки, соответствующие вершинам треугольника, который можно изобразить в трехмерном пространстве, называются вершинами. Работая с трехмерной графикой в XNA вам часто придется встречать английский вариант слова вершина - vertex. Возможно, вам встретится множественное число слова вершина: вершины выглядит по-английски как vertices. Иногда для обозначения вершин используют кальку с английского - вертекс.

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

Несколько граней, из которых состоит трехмерный объект, называются сеткой (mesh). "Сетка" представляет собой набор треугольников.

Еще одно понятие, которое пригодится вам при работе с трехмерной графикой - это понятие вектора. Вектор (vector), так же как и точка, может быть определен тремя параметрами, однако он описывае