Компьютерная программа "Трёхмерная модель солнечной системы"

Автор: Юзепчук Алекей, областной
Дворец пионеров и школьников им. Н. К. Крупской

Научный руководитель: Шиншинов Дмитрий Владимирович

Г. Челябинск

Введение.

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

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

Описание программы.

«Трехмерная модель солнечной системы» - программа, разработанная в среде визуального программирования Delphi 5.0, с использованием технологии OpenGL.  Можно сказать, что эта программа  уникальная в своем роде, т.е. аналогов ей в мире не так уж много.  Давайте разберёмся, что же она из себя представляет. Программа написана на английском языке, т.к. создавалась для распространения в интернете и других мировых сетях.

Рассмотрим главное меню программы, в нем содержатся пять подменю:

1. FLY - режим полёта по солнечной системе, в котором вы без труда сможете перемещаться по виртуальной солнечной системе, используя следующие клавиши управления:

Клавиши курсора: поворот камеры.

A - лететь вперед.

Z - лететь назад.

1-9 перемещение к планете (Меркурий - Плутон).

Пробел - Переход камеры в нормальный режим.

ESCAPE - главное меню программы.

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

2. MoveTo - раздел, с помощью которого можно переместиться к любому объекту солнечной системы.

Как вы видите, в нем предоставлен список планет. Если у планеты есть спутник или спутники, то в окошке с права вам будет предоставлен их список, при нажатии курсора ВПРАВО можно осуществить выбор спутника. После того как вы выбрали объект, нажмите клавишу ВВОД для перемещения к нужному вам небесному тело.

3. Controls - в этом меню вы сможете установить параметры рендеринга солнечной системы, изменить управление и узнать с помощью какого оборудования (аппаратного средства) происходит рендеринг.

4. Astronomy - в данном разделе располагается большое количество справочной информации о всех телах солнечной системы (новейшие сведения об объекте, его фотографии, видео ролики).

5. Scenarios - раздел для создания и просмотра <сценариев>. В этом разделе вы сможете просмотреть или сами создать как бы <сценарии>, например сценарий солнечного или лунного затмения, сценарий парада планет и т.д.

6. QUIT - выход из программы.

Трудности в разработке проекта.

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

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

Перспективы развития.

В будущем я продолжу работу над этим проектом и планирую усовершенствовать его в следующих направлениях:

1.      Увеличение количества небесных тел, таких как: астероиды, кометы, спутники планет.

2.      Реальная атмосфера Земли в данное время.

3.      Солнечные и лунные затмения.

4.      Создание сценариев перемещения камеры.

5.      Распечатка изображения.

6.      Трассировка созвездий

7.      Построение изображения небесной сферы из любой заданной точки любого небесного тела и отображение её в реальном времени.

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

Заключение.

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

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

В-третьих, я приобрел огромный опыт в программировании на Delphi и C++, получил большое количество знаний, которые помогут мне в будущем.

Системные требования.

Минимальные: Pentium 100, 16mb ram, 2mb SVGA, OS: Windows(любая), скорость отображения 1 кадр в секунду.

Рабочие: Pentium 233, 32mb ram, видео акселератор, 8MB SVGA, OS: Windows, скорость отображения 30 кадр в секунду.

Тестирована:

 1. Celeron 450, Riva ZX128 16 mb, 32 mb ram, fps: 26. OS: Windows 98

 2. Pentium II 300, Riva TNT2 16mb, 128 ram, fps 28.   OS: Windows ME

 3. Pentium III 500, Asus V3800 32 mb, 128 ram, fps 35.OS: Windows NT 4.0

Список используемой литературы.

1.        Энциклопедия по Астрономии (Аванта+).

2.        Очерки о вселенной (автор Б. А. Воронцов; издательство <Наука>).

3.        Учебник за 11 класс по Астрономии (автор Б. А. Воронцов; издательство <Просвещение>).

4.        Советский энциклопедический словарь (автор А.М. Прохаров; издательство <Советская энциклопедия>, Москва 1987год)

5.        Язык C++ (автор В.В. Подбельский; издательство  <Финансы и статистика>)

6.        Программирование на C++ (автор Нейл Дейл, Чип Уимз, Марк Хедингтон; издательство  <ДМК>)

7.        Среда визуального программирования Delphi 4.0 (автор П. Дарахвелидзе Е. Марков; издательство  <BHV>)

8.        Программирование в среде Delphi 2.0 (автор К. Сурков, Д. Сурков, А. Вальвачаев; издательство  <ПОПУРРИ>)

9.        Delphi 5.0 (автор В. Гофман; издательство  <BHV>)

10.    OpenGL. Графика в проектах Delphi (автор М. Краснов; издательство  <BHV>)

Также при написании программы была использована информация со следующих интернет адресов:

11.    http://nasa.gov/ - агентство аэрокосмических исследований.

12.    http://nineplanets.com/ - интернет энциклопедия о Солнечной системе.

13.    http://torry.ru -сайт, посвященный программированию на Delphi

14.    http://delphi.vitpv.com - сайт, посвященный программированию на Delphi.

15.    http://OpenGL.org - официальный сайт Silicon Graphics, использование технологии OpenGL в программировании.

16.    http://NeHe.gamedev.com - использование новейших технологий трехмерной графики в программировании.

17.    www.codemanual.com - разработка трехмерных приложений на Delphi.

18.    http://romka.demonews.com/ - разработка трехмерных приложений на C++.