Портал создан при поддержке Федерального агентства по печати и массовым коммуникациям.


Разработка информационной 3d модели «Солнечная система» как средства обучения технологиям программирования графических приложений

Номинация: Самая актуальная работа



















Оценить:

Рейтинг: 3.14

Автор: Васильев Дмитрий Павлович, Николаев Сергей Александрович. Наставник: Бойбородина Людмила Николаевна
Город: Екатеринбург
Место учебы: Уральский государственный колледж имени И.И. Ползунова

По новым государственным стандартам обучение становится практико-ориентированным. Для формирования программистского мышления в процессе обучения очень важно использовать конкретные программные продукты в качестве примеров и изучения технологий программирования. В настоящее время популярными в использовании являются программы и системы с компьютерной графикой.

Существует две конкурирующие стороны для создания компьютерной графики это OpenGL и DirectX, и перед любым программистом предстаёт выбор, что начать учить.

Графические библиотеки OpenGL и DirectX имеют много общего и предназначены для выполнения одной и той же задачи: вывода виртуального трёхмерного мира на экрана.

Главное преимущество OpenGL заключается в том, что эта библиотека - кроссплатформенна. Т.е. приложения, написанные под OpenGL, могут работать на Windows, Linux, Sony PlayStation 3 и так далее. Но это в теории. На практике для разных платформ приходится писать немного разный код, это связанно с особенностями операционных системы, а не OpenGL.

Корпорация Microsoft создала библиотекуDirectX, чтобы дать возможность писать графические приложения под операционную систему Windows.

Главное преимущество DirectX перед OpenGL состоит в том, что она содержит сразу несколько библиотек, а не только графическую, как OpenGL. В состав DirectX входят библиотеки такие как: Direct3D - основная графическая библиотека, D3DX - вспомогательная графическая библиотека, DirectX Audio -библиотека для работы со звуком, DirectShow - видео, DirectX Input - ввод (мышь, клавиатура, джойстики), Direct2D - двухмерная графика, DirectWrite -текст, DirectX Play - для работы с сетью, HLSL - язык для написания шейдеров.

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

Сам DirectX состоит из набора классов, в отличие от OpenGL, который представляет собой набор функций.

Однако, не смотря ни на что, с выводом графики эти две библиотеки справляются одинаково хорошо.

В последнее время говорят о том, что DirectX значительно обогнал OpenGL, поэтому,разрабатывая графическое приложение «Солнечная система», использовалась библиотека DirectX 9-ой версии.

Для того чтобы познакомить студентов с принципами разработки графических приложений, было создано электронное пособие. В нем на примере приложения «Солнечная система» рассмотрены технологии программирования и этапы решения подобных задач.

Само приложение 3D модели представляет собой графическую оболочку «Солнечной системы», которая демонстрирует солнце и движущиеся вокруг него планеты: Меркурий, Венера, Земля, Марс, Юпитер, Сатурн, Уран, Нептун, Плутон.

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

Система не статична, так как все объекты двигаются независимо друг от друга и в схематическом соответствии с их реальными прототипами. Масштаб не учитывается, так как расстояния слишком велики по отношению к размерам самих объектов.

Система интерактивна, то есть пользователь может изменять положение камеры по собственному усмотрению.

Для получения подробных сведений о каком-либо объекте достаточно кликнуть по нему.Открывается информационное окно, в котором можно узнать: общие космологические сведения, состав и свойства атмосферы, особенности объекта, температурную и климатическую обстановку, информацию о спутниках, сравнительные характеристики по отношению к Земле (масса, радиус, продолжительность суток, продолжительность года). Камера позволит рассмотреть объект с более близкого расстояния.

Для разработки данного приложения в качестве инструментальной среды программирования использовали инструментальную сре дуRAD Studio Embarcadero C++, для реализации графики SDKDirectX 9, а для создания компьютерных моделей 3dsMax.

Обучающее электронное пособие представляет собой систематизированные указания к разработке графических приложений, показанные на примере 3D модели «Солнечная система». Из нее программист может получить знания и навыки работы со «сценой», камерой, моделями и шейдерами, а так же усвоить некоторые нестандартные решения. Но, для того, чтобы овладеть описанными технологиями программирования, от обучающегося требуются:

• знания геометрии двумерного и трехмерного пространства (для определения физики движения объектов и камеры и их ориентации в пространстве).

• Знания языков программирования (для написания программы).

• Навыки работы с редакторами моделей (для создания трехмерных моделей).

• Знания по организации баз данных (для информационной поддержки).

Все эти знания студент способен получить на 1-ом, 2-ом и 3-ем курсах обучения на разных дисциплинах.

Сам методический курс предоставляет возможность научиться создавать графические приложения на базе DirectX9 как развлекательного, так и иного характера. Что касается информационных систем,обучающийся научится создавать графическую оболочку для клиентской части программы, а также разрабатывать администраторскую часть приложения для управления всей информацией.

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

В первой главе рассказывается про создание сцены. В ней рассматривается основные понятия DirectX9, необходимые для дальнейшей работы, даны указания по созданию сцены и выгрузке в нее объектов, а также говорится об текстурировании.

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

Третья глава полностью посвящена работе с текстом. Объясняется, как реализовать простой вывод текста, отформатировать его необходимым образом программным путем, и в зависимости от внешних событий выводить соответствующим образом.

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

Дополнительно разработан небольшой раздел, в котором рассказывается о том, как реализовать программу административного управления информационной системой.

Данное электронное пособие уже используется в программе 3-го курса специальности «Программное обеспечение компьютерной техники и автоматизированных систем» по дисциплине «Теория разработки программных продуктов».

В качестве перспектив данного проекта можно определить расширение границ системы до галактики «Млечный путь», предоставление более полной и специализированной информации по объектам и календарь их перемещения, расширение и дополнение методического курса.