"Классическая брахистохрона"

JAVA-апплет версия 2.3

IAGSoft

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

Содержание



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

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

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

Апплет обеспечивает анимацию движения по траекториям, воспроизведение аналитического описания траекторий.

Управление апплетом производится мышью (полное) и клавиатурой (частичное).

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





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

Для построения траекторий “кликните” левой кнопкой мышки по рабочему полю.

Для запуска анимации “кликните” правой кнопкой мыши по рабочему полю над осью x.

Для включения/выключения нужной траектории нажмите мышкой на соответствующий квадратик слева от названия траектории:

Cycloid
оптимальное решение задачи в классе гладких функций — дуга циклоиды
Straight Line
прямая линия, соединяющая начальную и конечную точки
Broken Line 1
оптимальное решение задачи в классе двузвенных ломаных с фиксированной в x1/2 абсциссой точки излома
Broken Line 2
оптимальное решение задачи в классе двузвенных ломаных с незакрепленными координатами точки излома (двухпараметрическое семейство)

Для вывода окна с аналитической записью трактории “кликните” левой кнопкой мышки правее соответствующего квадратика.

Управление с клавиатуры

клавишифункции
BackSpaceустановка координат конечной точки в (1, 1)
0, 1, 2, 3, 4, 5, 6, 7, 8, 9выбор начальной скорости
A, aзапуск анимации
Escостановка анимации, перерисовка апплета
B, bвключение/выключение циклоиды
S, sвключение/выключение прямой
M, mвключение/выключение ломаной 1
F, fвключение/выключение ломаной 2
Shift + B, bвывод окна с аналитически представлением циклоиды
Shift + S, sвывод окна с аналитически представлением прямой
Shift + M, mвывод окна с аналитически представлением ломаной 1
Shift + F, fвывод окна с аналитически представлением ломаной 2

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





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

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

<applet code="BrachIAG23.class" width=400 height=300>
<param name=work_field_color value="#FFFFFF">
<param name=bg_color value="#000000">
<param name=txt_color value="#FFFFFF">
<param name=grid_color value="#888888">
<param name=point_color value="#000000">
<param name=brach_color value="#CC0000">
<param name=stright_color value="#00CC00">
<param name=broken1_color value="#0000CC">
<param name=broken2_color value="#C00077">
<param name=ball_radius value=31>
<param name=font_size value=22>
<param name=dx value=9>
<param name=Ncurves value=4>
<param name=masht value=100>
<param name=diam value=7>
<param name=line_width value="4">
<param name=time_delay value="50">
<param name=time_masht value="5000">
<param name=grid value="any">
<param name=nopoint value="any">
<param name=extpoint value="any">
<param name=time_status value="any">
<param name=no_check value="cycloid,straight,broken1,broken2">
</applet>
Где
width height
желаемые ширина и высота апплета (в точках). Обязательный параметр.
bg_color
цвет окна апплета, по умолчанию — белый
work_field_color
цвет рабочего поля с системой координат, по умолчанию — черный
txt_color
цвет текста в окне апплета, по умолчанию — черный
grid_color
цвет разметки рабочего поля, по умолчанию — светло-серый
point_color
цвет начальной и конечной точек, по умолчанию — белый
brach_color
цвет циклоиды, по умолчанию — зеленый
stright_color
цвет прямой линии, по умолчанию — красный
broken1_color
цвет ломанной 1, по умолчанию — малиновый
broken2_color
цвет ломанной 2, по умолчанию — желтый
ball_radius
радиус кругов, анимирующих движение по траекториям
font_size
базовый размер шрифта (в пикселях)
dx
базовый размер рамки
Ncurves
число кривых, по умолчанию — 4, возможные значения: 1 (только циклоида), 2 (циклоида и прямая), 3, 4
masht
масштаб разметки рабочего поля, число пикселей в единице расстояния
diam
диаметр начальной и конечной точек
line_width
ширина линий траекторий, по умолчанию — 1, применение этого параметра полезно при домонстрационном показе
time_delay
задержка времени при анимации (в миллисекундах), величина обратная "частоте кадров"
time_masht
масштаб времени при анимации, по умолчанию 10000, число реальных миллисекунд в моделируемой секунде
grid
при наличии этого параметра происходит вывод координатной сетки в рабочем поле
nopoint
при наличии этого параметра не выводятся координаты конечной точки
extpoint
при наличии этого параметра выводятся координаты точек перелома для ломаных
time_status
при наличии этого параметра при анимации происходит вывод времени в статусную строку браузера
no_check
при наличии этого параметра соответствующие кривые изначально не выводятся

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





Двоичный код апплета (downloading)

Версии апплета

Для работы полной версии апплета BrachIAG23.class необходим вспомогательный класс IAGSaux.class, а также класс BrachIAG23frame.class.

“Быстрый” вариант апплета BrachIAG23f.class отличается от полной версии значениями некоторых констант, что позволяет ускорить вычисления при некоторой потере точности. В этой версии не выводятся координаты конечной точки, невозможен вывод точек излома ломаных линий. Для этой версии также необходимы классы IAGSaux.class и BrachIAG23frame.class.

Наиболее упрощенный вариант апплета BrachIAG23t.class не выводит аналитическое представление траекторий и требует только один вспомогательный класс IAGSaux.class.

Двоичные файлы

JAVA classBrachIAG23.class (23K) — полная версия апплета

JAVA classBrachIAG23f.class (21K) — “быстрая” версия апплета

JAVA classBrachIAG23t.class (18K) — “простейшая” версия апплета

JAVA classBrachIAG23frame.class (1K) — вспомогательный класс

JAVA classIAGSaux.class (2K) — вспомогательный класс

jarBrachIAG23.jar (13K) — архив, содержащий все файлы версии 2.3

jarBrachIAG23f.jar (12K) — архив, содержащий все файлы версии 2.3f

jarBrachIAG23t.jar (10K) — архив, содержащий все файлы версии 2.3t

jarBrachIAG23all.jar (32K) — архив, содержащий все файлы всех версий апплета

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





История апплета

Версия 2.3

Для установления начальной скорости применяется линейка прокрутки, а не набор кнопок

Убрана кнопка “A”. Запуск анимации осуществляется правым кликом мыши или нажатием кнопки “A” на клавиатуре.

Добавлено построение своей (не оптимальной) двузвеной ломаной (не описанная в настоящей документации возможность).

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




Soft Vari New! Home
Программное обеспечение | Вариационное исчисление | Новости | Главное меню

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

Статистика