IAGSoft

Учебные и демонстрационные программы по вариационному исчислению

В создании программ, приведенных на этой странице, участвовали студенты мат-меха УрГУ.
 

© IAGSoft
© ИММ УрО РАН
Программы, представленные на этой странице, могут быть использованы бесплатно для некоммерческих целей при условии ссылки на Институт математики и механики УрО РАН и Иванова А.Г.
 

Содержание



Программа численного поиска минимальной поверхности вращения



Копаем помаленьку Ведутся работы


Файл с программой

ZIP fileПрограмма MinSurf


UpК содержанию



JAVA-апплет "Задача о наименьшей поверхности вращения"


Краткое описание

Программа для включения в HTML-страницы, посвященные задаче о наименьшей поверхности вращения. Предусмотрено решение, как в классе непрерывных функций (классическое), так и разрывное решение.

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


Работа с программой

Основной экран апплета

screenshot программы с комментариями

В левой части окна апплета располагается чуствительное к нажатию клавиши мыши рабочее поле. Точка (x0, y0) зафиксированна в координатах (0, 0). Координаты точки (x1, y1) задаются пользователем в первом квадранте щелчком мыши и могут изменяться при помощи клавиш управления курсором. В этом поле выводится решение уравнения Эйлера, доставляющее локальный минимум. Если таковое существует, то это -- цепная линия. Кроме того на рабочее поле выведена линия равных площадей (синий цвет) и граница области существования аналитического решения (зеленый цвет).

В верхней части правого поля окна апплета выводится информация о существовании решения уравнения Эйлера для заданных граничных условий. В случае существования решения уравнения эйлера выводится его формула и площадь поверхности вращения, образованной этим решением (Scat). Ниже выводится площадь поверхности вращения на разрывном решении (Scir).

В правом нижнем углу находится кнопка перехода в режим визуализации глобального минимума. Для апплета PMRS_IAG_10t эта кнопка отсутствует.

Работа с клавиатурой в режиме основного экрана

Клавиши
управления
курсором
-сдвиг точки (x1, y1) на один пиксель в соответствующем направлении
Пробел, S, s -переход в режи визуализации

Режим визуализации апплета PMRS_IAG_12

screenshot

В этом режиме выводится изображение оптимальной поверхности в виде стержневой модели. В правом нижнем углу находится кнопка "Halo on/off". При нажатии на нее мышкой происходит включение/выключение режима ореола. При нажатии мышкой в любую другую область -- выход из режима визуализации.

В этом режиме возможен выбор модели раскраски и выбор толщины стержней. При единичной (минимум) толщине стержней ореол отсутствует.

Работа с клавиатурой в режиме визуализации апплета PMRS_IAG_12

H, h -переключение режима ореола
+ -увеличение толщины стержней
- -уменьшение толщины стержней
1, 2, 3, 4, 5, 6, 7, 8 -выбор модели раскраски

Режим визуализации апплета PMRS_IAG_12h

В этом режиме поверхность представлена набором четырехугольников.

screenshot

В правой части окна находятся кнопки:
"Exit STEREO" - выход в основной режим.
"Change coloring mode" - переключение режима раскрашивания между раскрашиванием по глубине и раскрашиванием по освещенности.
"Grid on/off" - включение/выключение вывода сетки.
При "кликании" мышкой мимо кнопок происходит выбор поворота поверхности (на основе горизонтальной координаты щелчка) и выбор угла освещения (на основе вертикальной координаты щелчка).

Работа с клавиатурой в режиме визуализации апплета PMRS_IAG_12h

G, g -переключение режима вывода сетки
горизонтальные клавиши управления курсором -поворот поверхности относительно вертикальной оси
вертикальные клавиши управления курсором -перемещение источника света (только для раскрашивания по освещенности)
C, c -изменение режима раскрашивания
1, 2, 3, 4, 5, 6, 7, 8, 9 -выбор модели раскраски

Страницы с апплетом

Сходив по этим адресам вы можете посмотреть апплеты в работе

Задача о наименьшей поверхности вращения - страница с апплетом PMRS_IAG_12h.

Problem of the Minimum Rotation-Surface - страница с апплетом PMRS_IAG_12.

Параметры апплетов

Апплет PMRS_IAG_10t не имеет параметров

Параметры апплета PMRS_IAG_12

Пример фрагмента HTML-файла со всеми параметрами:

<applet code=PMRS_IAG_12.class width=400 height=266>
<param name=work_field_color value="#FFFFFF">
<param name=line1_color value="#FF0000">
<param name=line2_color value="#00FF00">
<param name=catenary_color value="#000077">
<param name=axes_color value="#888888">
<param name=numbers_color value="#000000">
<param name=stereo_width value="3">
<param name=stereo_color_met value="1">
<param name=lines_width value="2">
</applet>
Где
width=400 height=266 - желаемые ширина и высота апплета (в точках). Обязательный параметр.
work_field_color - цвет рабочего поля. По умолчанию -- черный.
line1_color - цвет границы области существования решения уравнения Эйлера. По умолчанию -- зеленый.
line2_color - цвет линии равных площадей. По умолчанию -- синий.
lines_width - ширина линии границы области существования решения уравнения Эйлера и линии равных площадей. По умолчанию -- 1.
catenary_color - цвет цепной линии (решения уравнения Эйлера). По умолчанию -- желтый.
axes_color - цвет координатных осей. По умолчанию -- светло-серый.
numbers_color - цвет координат точки. По умолчанию -- черный.
stereo_width - начальная установка ширины стержней в режиме "STEREO". По умолчанию -- 2.
stereo_color_met - начальная установки метода цветности для режима "STEREO". По умолчанию -- 0.

Параметры апплета PMRS_IAG_12h

Пример фрагмента HTML-файла со всеми параметрами:

<applet code=PMRS_IAG_12h.class width=400 height=266>
<param name=work_field_color value="#FFFFFF">
<param name=line1_color value="#FF0000">
<param name=line2_color value="#00FF00">
<param name=catenary_color value="#000077">
<param name=axes_color value="#888888">
<param name=numbers_color value="#000000">
<param name=disk_color value="#00dd44">
<param name=stereo_color_met value="10">
<param name=lines_width value="3">
<param name=alt_color_model value="any">
<param name=main_line_width value="4">
</applet>
Где
width=400 height=266 - желаемые ширина и высота апплета (в точках). Обязательный параметр.
work_field_color - цвет рабочего поля. По умолчанию -- черный.
line1_color - цвет границы области существования решения уравнения Эйлера. По умолчанию -- зеленый.
line2_color - цвет линии равных площадей. По умолчанию -- синий.
lines_width - ширина линии границы области существования решения уравнения Эйлера и линии равных площадей. По умолчанию -- 1.
catenary_color - цвет цепной линии (решения уравнения Эйлера). По умолчанию -- желтый.
main_line_width - ширина цепной линии. По умолчанию -- 1. Увеличение ширины может замедлить работу апплета.
disk_color - цвет пунктира - образующей дисков. По умолчанию -- красный.
axes_color - цвет координатных осей. По умолчанию -- светло-серый.
numbers_color - цвет координат точки. По умолчанию -- черный.
alt_color_model - начальная установка альтернативной раскраски в режиме "STEREO". Присутствие параметра включает альтернативную раскраску.
stereo_color_met - начальная установки метода цветности для режима "STEREO". Возможные значения: от 0 до 10. По умолчанию -- 1.


Файлы апплета

JAVA classPMRS_IAG_10t.class (9K) - простейшая версия апплета (без визуализации поверхностей)

JAVA classPMRS_IAG_12.class (20K) - "стандартная" версия апплета (визуализация стержневой моделью)

JAVA classPMRS_IAG_12h.class (23K) - "расширенная" версия апплета (визуализация четырехугольниками)

UpК содержанию



Демонстрационный апплет по проблеме удовлетворения граничным условиям в задаче о наименьшей поверхности вращения


Теоретические основы апплета


Примеры страниц с апплетом

Вариант страницы с апплетом c использованием JavaScript - рекомендуется.

Вариант страницы с апплетом без использования JavaScript.


Техническое описание апплета

Параметры апплета PMRSdemo1_IAG_01

Пример фрагмента HTML-файла со всеми параметрами:

<applet code=PMRSdemo1_IAG_01.class width=265 HEIGHT=265>
<param name=lines_width value=2>
<param name=small_timeout value=38>
<param name=large_timeout value=1111>
<param name=maxcounter value=55>
<param name=nodes value=22>
<param name=work_field_color value="#000000">
<param name=line1_color value="#AAFFAA">
<param name=line2_color value="#AACCFF">
<param name=line3_color value="#FFFF88">
<param name=axes_color value="#CCCCCC">
</applet>
Где
width height - желаемые ширина и высота апплета (в точках). Обязательный параметр.
lines_width - толщина основных линий на изображении.
small_timeout - временная задержка (в миллисекундах) при анимации процесса гомотетии.
large_timeout - временная задержка (в миллисекундах) между циклами анимации
maxcounter - "число кадров" в одном цикле анимации.
nodes - число узлов в изображении цепной линии.
work_field_color - цвет рабочего поля
line1_color - цвет вертикальных линий y = 1, y = -1.
line2_color - цвет графика функции y = cosh x и линии y = hx.
line3_color - цвет цепных линий.
axes_color - цвет осей координат.

Файл апплета

JAVA classPMRSdemo1_IAG_01.class (11K) - файл апплета.

UpК содержанию



Аэродинамическая задача Ньютона - численное решение


Краткое описание программы

Кусочно-линейная аппроксимация (численный метод Эйлера). Минимизация функции многих переменных методом Хука-Дживса.

Копаем помаленьку Ведутся работы


Аргументы командной строки

    aero.exe N

Возможные значения N:
0-значение "по умолчанию": обсчет снаряда с возможностью создания "пятачка". Применяется стандартный метод Хука-Дживса.
1-обсчет снаряда без "пятачка". Применяется стандартный метод Хука-Дживса.
-2-обсчет снаряда без "пятачка". Применяется метод Хука-Дживса с использованием элементов метода Монте-Карло.
-1-обсчет снаряда с возможностью создания "пятачка". Применяется метод Хука-Дживса с использованием элементов метода Монте-Карло.


Файл с программой

ZIP fileПрограмма Aero (размер - 65K)

UpК содержанию



Параметрическое решение аэродинамической задачи Ньютона - JAVA-апплет


Краткое описание

Рассматривается аэродинамическая задача Ньютона. Оптимальное решение рассматривается в классе показательных функций y=xp, где p - параметр. При этом коэффициент сопротивления Cx оказывается функцией от p. Апплет вычисляет и изображает функцию Cx=Cx(p) и помечает оптимальное решение. Кроме того показывается образующая и значение Cx для любого p из вычисленных. Полная версия апплета строит объемного изображение обтекаемого тела.


Работа с программой

Экран апплета в основном режиме состоит из двух черных полей (при использовании цвета "по умолчанию").

В правом поле изображается функция Cx=Cx(p). Это поле чуствительно к нажатиям мыши. При нажатии мышью горизонтальная координата щелчка используется для изменения "текущего" p. Выводится формула соответствующей образующей и значение Cx.

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

Режим стереоизображения апплета ANPpar_IAG_13

Клавиатурные команды:
G, g -переключение режима вывода сетки
горизонтальные клавиши управления курсором -поворот поверхности относительно вертикальной оси
вертикальные клавиши управления курсором -перемещение источника света (только для раскрашивания по освещенности)
C, c -изменение режима раскрашивания
'1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '-', '=' -выбор модели раскраски
Любая другая клавиша -выход из стереорежима

Параметры апплетов

Апплет ANPpar_IAG_11t не имеет параметров.

Параметры апплета ANPpar_IAG_13

Пример фрагмента HTML-файла со всеми параметрами:

<applet code=ANPpar_IAG_13.class width=400 height=266>
<param name=alt_color_model value="any">
<param name=stereo_color_met value="10">
<param name=main_line_width value="2">
<param name=work_field_color value="#DDFFFF">
<param name=main_lines_color value="#008800">
<param name=axes_color value="#222222">
<param name=rmark_color value="#000000">
<param name=vmark_color value="#FF0000">
<param name=minmark_color value="#0000FF">
</applet>
Где
width=400 height=266 - желаемые ширина и высота апплета (в точках). Обязательный параметр.
alt_color_model - начальная установка альтернативной раскраски в режиме "STEREO". Присутствие параметра включает альтернативную раскраску.
stereo_color_met - начальная установки метода цветности для режима "STEREO". Возможные значения: от 0 до 11. По умолчанию -- 1.
main_line_width - ширина линии основных графиков. По умолчанию -- 1.
work_field_color - цвет рабочего поля. По умолчанию -- черный.
main_lines_color - цвет основных графиков. По умолчанию -- зеленый.
axes_color - цвет координатных осей. По умолчанию -- светло-серый.
rmark_color, vmark_color - цвета текущей точки на графике Cx(p) и соответствующей вертикальной линии. По умолчанию -- белый и желтый.
minmark_color - цвет оптимальной точки. По умолчанию -- оранжевый.


Файлы апплета

JAVA classANPpar_IAG_11t.class (9K) - простейшая версия апплета (без визуализации поверхностей)

JAVA classANPpar_IAG_13.class (19K) - полная версия апплета

ZIPJAVA classANPp.zip (15K) - архив из апплетов ANPpar_IAG_11t и ANPpar_IAG_13.

UpК содержанию



Программа построения брахистохроны


Краткое описание

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

Копаем помаленьку Ведутся работы


Файл с программой

ZIP fileПрограмма Brachr

UpК содержанию



Построение классической брахистохроны - JAVA апплет


Краткое описание

Программа предназначена для включения в WWW-страницы посвященные классической задаче о брахистохроне. Строит брахистохрону для начальной точки с координатами (0,0), координаты конечной точки задаются щелчком мыши в нужной точке. В верхней части апплета изображается аналитическое представление для построенной брахистохроны: параметрическое уравнение циклоиды и пределы изменения параметра, определяющие дугу циклоиды. Показывает "мультфильм" о движении точки по брахистохроне


Пример страницы с апплетом


Режимы работы апплета

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

Режим 0 - по нажатию мышки на рабочем поле изображается график брахистохроны при соответствующих граничных условиях

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

Режим 2 - то же, что и 1, но шарик скатывается раз за разом.

Режим 3 - однократный спуск шарика, след не оставляется.

Режим 4 - то же, что и 3, но шарик скатывается раз за разом.

Окончательный переход в новый режим наступает после очередного выбора конечной точки.


Файл с апплетом

Здесь Вы можете свободно скачать апплет для использования в своих WWW-страницах. Буду благодарен за информацию о использовании.

JAVA classZIP fileZIP-архив с кодом апплета (версия 1.0) (размер - 6K)


Рекомендации по использованию, параметры

Пример фрагмента HTML-файла со всеми параметрами:

<applet code=BrachistochroneIAGa1_0.class width=480 height=320>
<PARAM name=scale value=5>
<PARAM name=radius value=7>
<PARAM name=timeTact value=20>
<PARAM name=button value=44>
<PARAM name=iniMode value=4>
<PARAM name=WPColor value="0xFFFFFF">
<PARAM name=MarkerColor value="0x00FF00">
<PARAM name=BGColor value="0x777700">
<PARAM name=TraceColor value="0x000000">
<PARAM name=PointColor value="0x0000FF">
</applet>
Где
width=480 height=320 - желаемые ширина и высота апплета (в точках)
scale - масштаб: число точек в единице длины
radius - радиус материальной точки, скатывающейся по кривой (в точках)
timeTact - шаг по времени (в микросекундах)
button - величина кнопок выбора режима (в точках)
iniMode - начальный режим (число от 0 до 4)
WPColor - цвет рабочего поля (цвет окна, в котором происходит построение кривой)
MarkerColor - цвет координатных осей
BGColor - фоновый цвет (рекомендуется задавать равным фоновому цвету страницы)
TraceColor - цвет брахистохроны
PointColor - цвет точки, скатывающейся по кривой
Все параметры (опции), кроме ширины и высоты апплета, являются необязательными.

UpК содержанию




Soft Vari
Программное обеспечение | Вариационное исчисление |

Пишите по адресу: iagsoft@imm.uran.ru