Автор работы: Пользователь скрыл имя, 22 Мая 2013 в 20:33, дипломная работа
Целью данной выпускной работой является создание программы, симулирующей астрофизические процессы . Целевой аудиторией данной программы являются школьники старших классов и студенты младших курсов. Разработка велась с использованием технологии Javascript.
Школа Информатики и Вычислительной Техники
Специальность : управление программным обеспечением и базами данных
Выпускная квалификационная работа
Симуляция движения скоплений масс в галактиках спирального типа (S)
Учащийся Петр Лешкин
………………………………..
Руководитель Шабанов
………………………………..
Таллинн
2013
Оглавление
Целью данной выпускной работой является создание программы, симулирующей астрофизические процессы . Целевой аудиторией данной программы являются школьники старших классов и студенты младших курсов. Разработка велась с использованием технологии Javascript.
Käesoleva töö eesmärgiks on programmi arendamine, mis tegeleb astrofüüsiliste protsesside simuleerimisega. Selle programmi sihtrühm koosneb kõrg klasside kooli õpilased ja tudengid. Areng toimus Javascript´tehnoloogia kasutamisel.
The aim of this work is to create a programm , which will simulate different astrophysical processes. This program target audience is high-school students and students of first courses of college.In programm dewelopment was used Javascript technology.
1.Введение
Темой данной работы была выбрана симуляция движения скоплений масс в галактиках спирального типа (S).
Целью данной работы являлось
максимально доступная и
Тема популяризации науки среди молодёжи , а в особенности астрофизики довольно стара. До последнего момента данный процесс всегда усложнялся не совершенностью методов демонстрации, и наглядного, интуитивно понятного объяснения процессов, происходящих в астрофизике. И если астрономия допускает демонстрацию снимков тел в определённых спектрах излучения и в данной отросли науки часто просто нет недостатка в статистических данных, то в астрофизике, а в особенности астрофизике галактик ситуация скорее противоположная прежде всего в силу того, что астрофизика галактик как таковая была основана менее 100 лет назад.
Как следует из определения, астрофизика это наука на стыке астрономии и физики, изучающая физические процессы в астрономических объектах, таких, как ,например, галактики. Исходя из этого, демонстрация движения скоплений масс в галактиках спирального типа (S) должна прежде всего иллюстрировать эволюцию многомассивных галактических образований с изменением величины времени.
В данной работе использовалась классификация по Последовательности Ха́ббла — эта классификация была предложенна в 1936 Эдвином Хабблом. С тех пор предложены более подробные классификации, но классификация Хаббла представляется наиболее актуальной для данной целевой аудитории в силу её лаконичности, фундаментальности и простоты математического аппарата.
На протяжении почти 20 последних лет проводились попытки проведения симуляций, реалистично отбражающих поведение галактик . Большинство из них были посвящены галактике Млечного Пути, которая, кстати, также является спиральной.
В данный момент в международном научном сообществе крайне популярно финансирование и проведение долгосрочных симуляций с использование суперкомпьютеров. К сожалению, результаты большинства из них являются закрытыми или полу-открытыми в силу достаточно объёмного финансирования данной тематики военными структурами.
Наиболее ярким примером подобных симуляций является Eris,результаты которой были объявлены в августе 2011 года. Симуляция Eris , проходившая на Nasa Advanced Supercomputer Division’s Pleiades и в Swiss National Supercomputing Centre(Швейцарского национального центра суперкомпьютеров) на протяжении более 8 месяцев(эквивалентно порядка 570 лет вычислений на персональных компьютерах(Mark Johanson, IBTimes, 30.07.11)) . Симуляция Eris была первой успешной и достаточно полной симуляцией процессов происходящих в галактике Млечного пути.
В силу длительности эксперимента , частой закрытости результатов и количества тел, присутствующих в симуляции у юной зрительской аудитории может складывается мнение, что математический аппарат данных процессов слишком сложен для понимания.
Целью данной дипломной работы являлся поиск оптимума между простотой объяснения и описания происходящих процессов в сочетании с наглядностью, лёгкостью распространения программы и иллюстративностью вышеупомянутой.
2.Выбор технологии реализации
Исходя из целей дипломной работы, нам необходима технология, которая позволила бы обеспечить максимальное распространение данного программного обеспечения. Как следствие, в случае разработки программы нам необходима кроссплатформенность и сравнительно невысокие технические требования вышеупомянутой. Альтернативой является разработка веб-технологии, которая также будет предъявлять сравнительно нем слишком выскокие требования к машине.
Исходя из этого, есть два основных возможных направления разработки. Либо веб-технология, либо полноценная программа. Ни для кого не секрет, что добиться установки стороннего программного обеспечения написанного на полноценном языке программирования, как, например JAVA или C++ , гораздо сложнее чем, скажем, посещения сайта, где подобная симуляция будет реализована через, например, PHP или Javascript. Конечно, языки программирования дают гораздо больше возможностей и степеней свободы, чем скриптовые, однако, как уже было сказано ранее, основной аудиторией проекта являются ученики старших классов и студенты младших курсов, и, как следствие использование максимально полноценного математического аппарата не представляется необходимым, а в ситуации самообучения по данной программе или скрипту вредным в силу слишком высокой сложности и труднодоступности исходного кода.
Возникает вопрос, использование какого скриптового языка представляется максимально удобным и целесообразным для выполнения задачи. Наиболее распространёнными и известными на данный момент являются: Javascript,PHP,Perl,Python и Ruby.
Вследствие вышеупомянутых причин мы будем рассматривать именно их и их диалекты.
Итак, JavaScript — прототипно – ориентированный язык программирования.
Является диалектом языка ECMAScript . JavaScript обычно используется
как встраиваемый язык для программного
доступа к объектам приложений. Наиболее широкое
применение находит в браузерах как язык сценариев для придания интерактивности веб-
Основные архитектурные черты: динамическая типизация, слабая типизация,автоматическое управление памятью, прототипное программирование, функции как объекты первого класса.
На JavaScript оказали влияние
многие языки, при разработке была цель
сделать язык похожим на Java, но при этом
лёгким для использования непрограммистами
По данным Black Duck Software (англ.)[22] в разработке открытого программного обеспечения доля использования JavaScript выросла. 36 % проектов, релизы которых состоялись с августа 2008 по август 2009 гг., включают JavaScript, наиболее часто используемый язык программирования с быстрорастущей популярностью. 80 % открытого программного обеспечения использует Си, C++, Java, Shell и JavaScript. При этом JavaScript — единственный из этих языков, чья доля использования увеличилась (более чем на 2 процента, если считать в строках кода)[23].
JavaScript является самым популярным языком программирования, используемым для разработки веб-приложений на стороне клиента (англ.)[24][25].
Ниже приводится таблица, иллюстрирующая популярность данного языка. [21]
| ||
Позиция |
Критерий ранжирования |
Краткое описание |
11 |
Yahoo |
По количеству результатов запроса с упоминанием названия языка и слова «programming» |
5 |
Крейгслист |
По количеству результатов запроса с упоминанием названия языка и «programmer -„job wanted“» |
7 |
Powell's Books (англ.) |
По количеству книг с названием языка в названии или заголовках релевантных разделов |
7 |
Freshmeat |
По количеству проектов с использованием языка программирования |
8 |
Google Code |
По количеству проектов с использованием языка программирования |
1 |
Delicious |
По количеству результатов поиска с упоминанием названия языка и слова «programming» |
4 |
Ohloh |
По числу участников, вносящих правки в код, написанный на данном языке программирования |
5 |
Суммарная оценка |
Заключение по Javascript.
Javascript,безусловно, является одной из наиболее популярный технологий веб-программирования. Что более важно, он крайне популярен среди новичков и как следствие шанс последующей доработки вышеупомянутого скрипта увеличивается в разы. Существует большое количество интернет-сообществ, призванных дорабатывать скрипты различных членов этой группы, как, например, „www.khanacademy.org“
PHP как способ реализации задачи.
PHP ( PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста
Язык и его интерпретатор
разрабатываются группой
Согласно исследованиям одного из крупных российских порталов трудоустройства[38]:
Заключение по PHP
PHP,безусловно, является весьма популярным языком программирования, однако большинство его знатоков не являются нашей целевой аудиторией.Также вызывает определённые сомнения тот факт, что язык является серверным, т.е. придётся передавать достаточно большое количество информации клиенту после проведения расчётов на серверной стороне, что в свою очередь может увеличить трафик.
Python ( python — питон, произносится [ˈpaɪθ⟨ə⟩n] — па́
Python поддерживает несколько парадигм программирования, в том числе структурное,объектно-
Эталонной реализацией Python является
интерпретатор CPython, поддерживающий большинство активно
используемых платформ[6]. Он распространяется под свободной лицензией Python Software Foundation License, позволяющей использовать
его без ограничений в любых приложениях,
включая проприетарные. Есть реализации интерпретаторов
для JVM (с возможностью компиляции), MSIL
Python — активно развивающийся язык программирования, новые версии (с добавлением/изменением языковых свойств) выходят примерно раз в два с половиной года. Вследствие этого и некоторых других причин на Python отсутствуют стандарт ANSI,ISO или другие официальные стандарты, их роль выполняет CPython.
Ruby (англ. Ruby — рубин, произносится ['ru:bɪ] — ру́би)
Окончательный выбор технологии разработки.
Как уже говорилось, от технологии требуется максимальное удовлетворение следующих аспектов:
Наиболее выгодным представляется выбор тезнологии Javascript в силу её популярности у молодёжи, большого количества различных интернет-сообществ и возможности просто и быстро писать скрипты на исключительно пользовательской стороне, что в свою очередь приводит к низким требованиям к скорости интернета и простой портируемости между устройствами.
Информация о работе Симуляция движения скоплений масс в галактиках спирального типа (S)