Применение технологий Java и JavaFX для разработки виртуальных лабораторий математического моделирования

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

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

°зового портрета (LineChart);

После нажатия на кнопку "Рисовать", выполняется следующий алгоритм:

 

Рис. 3.2. Алгоритм файла Main.fx.

Согласно алгоритму на рис. 3.2, после нажатия на кнопку "Рисовать", происходит считывание введенных пользователем входных данных с формы, затем создаются экземпляры следующих классов:

Coordinates{}. В этом классе объявлены массивы для хранения числовых значений координат X, Y, T, необходимых для построения графиков зависимостей и фазового портрета;

InitSystem{}. В этом классе происходит инициализация системы 2-х дифференциальных уравнений первого порядка согласно формуле 2.1, а также соответствующих коэффициентов этой системы;

RungeKutta_method{}. В этом классе реализовано численное решение системы дифференциальных уравнений первого порядка методом Рунге-Кутта 4-го порядка точности;

Данные классы в программе связаны между собой по принципу, изображенному UML-диаграммой на рисунке 3.3.

 

Рис. 3.3. UML - диаграмма, описывающая связь между классами.

Затем выполняется решение исходной системы, с учетом пользовательских входных данных. После этого происходит построение графиков зависимостей , и фазового портрета, а также дорисовка графиков, если такая функция активизирована. Пользовательское окно после выполнения программы по нажатию на кнопку "Рисовать" изображено на рисунке 3.3. В этом случае функция дорисовки неактивна. Апплет с дорисовкой изображен на рисунке 3.4. Дорисовка применяется только к фазовому портрету. Графики функций и строятся без дорисовки.

 

Рис. 3.3. Пользовательский интерфейс. Фазовый портрет без дорисовки.

 

Рис. 3.4. Пользовательский интерфейс. Фазовый портрет с дорисовкой.

При компиляции апплета JavaFX в Neatbeans в папке dist проекта создаётся 4 файла:

model.html - страница со встроенным апплетом;

model.jar - сам апплет;

model.jnlp - для запуска апплета через Webstart;

model_browser.jnlp - для запуска апплета встроенного в страницу;

Протокол JNLP (Java Network Launch Protocol - сетевой протокол запуска приложений на языке Java) описывает запуск приложений Java Web Start. JNLP состоит из набора правил, определяющих, как конкретно реализуется запускающий механизм. Файлы JNLP включают такую информацию, как месторасположение jar архивов (Java ARchive), имя главного класса приложения, ссылки на библиотеки JavaFX. Правильно сконфигурированный веб-обозреватель передает JNLP файлы среде JRE (Java Runtime Environment - реализация виртуальной машины), которая загружает приложение на компьютер клиента и запускает его.

 

ЗАКЛЮЧЕНИЕ

 

В курсовой работе был проведен анализ технологий разработки интерактивных программ, встраиваемых в веб-обозреватель, в частности, Java и JavaFX, а также рассмотрены программные средства для создания апплетов. В качестве апробации выбранных методов был разработан Java-апплет математической модели межвидовой конкуренции с применением достаточно новой и перспективной технологии JavaFX. Разработанный апплет размещен в сети Интернет и находится по адресу

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

Хищник-Жертва;

Тримолекулярная модель ("брюсселятор");

Модель Холлинга-Теннера;

Модель Ресслера;

Модель Лоренца;

Классически модели Лотки и Вольтера и др.

Полный перечень математических моделей, подлежащих переработке находится на сайте совместной лаборатории Института математических проблем биологии РАН и Астраханского государственного университета "Математическое моделирование и информационные технологии в науке и образовании" (

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

 

СПИСОК ЛИТЕРАТУРЫ

 

1.Тарасевич Ю.Ю. Математическое и компьютерное моделирование. Вводный курс: Учебное пособие. 4-е изд., испр. М.: Едиториал УРСС, 2004.

2.Маликов Р.Ф. Практикум по компьютерному моделированию физических явлений и объектов. Учебное пособие. 2-е изд., дополненное. Уфа: Изд-во БашГПУ, 2005.-291с., 2004.

.Зелепухина В.А. Разработка интернет-ориентированных виртуальных лабораторий математического моделирования посредством разделения вычислительных и визуализационных задач // Информационные технологии.- 2010.- № 10.- 22-29.

4.Sun Microsystems -

.NetBeans IDE - The Smarter Way to Code -

6.Управление "Институт информатики ИжГТУ". Среда разработки ПО - NetBeans IDE -

7.Michael Thomas Flanagans Java Scientific Library -

8.Свободная энциклопедия Википедия -

 

ПРИЛОЖЕНИЕ 1

 

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

.java

package model;InitSystem {float k1_1 = 0.0f, k1_2 = 0.0f, k1_3 = 0.0f, k2_1 = 0.0f, k2_2 = 0.0f, k2_3 = 0.0f;float[ ] derivn(float x, float[ ] y){[ ] dydx = new float [y.length];[0] = y[0]*(k1_1-k1_2*y[0]-k2_3*y[1]);[1] = y[1]*(k2_1-k2_2*y[1]-k1_3*y[0]);

return