Модель мяча в AnyLogic

Модель мяча в AnyLogic

       

Структурная диаграмма

На рис. 4 для нашего простого примера структурная диаграмма активного объекта — мяча — задается в окне с именем Ball прямоугольником, внутри… Структура корневого активного объекта Rootзадана в окне с именем Root. Именно…    

Окна свойств объектов модели

       

Окно поведения активного объекта

Поведение мяча представлено в окне Ball.statechart, содержащем простей­ший стейтчарт (карту состояний), который можно считать расширенным графом переходов конечного автомата.

Стейтчарт модели прыгающего мяча (рис. 6) состоит из одного состояния с именем Movement и одного перехода. Переход срабатывает при наступле­нии события касания поверхности земли при движении мяча вниз. Условие наступления этого события можно записать выражением:

Y <= r && vy < 0

  Рис. 6. Окно стейтчарта  

Окно редактора анимации активного объекта

       

Режим выполнения модели

В режиме выполнения модели пользователь имеет возможность выполнять различные эксперименты с моделью. Рассмотрим здесь простейшие средства управления экспериментом.

Запуск модели

· Окно структуры модели, в котором в дереве с корнем Root можно наблюдать мгновенные значения всех переменных и параметров (vx, vy, x, y, g, k, , и… · Ожившее окно анимации с прыгающим мячом · Окно поведения (стрейчарт) с подсвеченным красным цветом тем состояния, которое активно в данный момент

Эксперименты с моделью

Для проведения компьютерных экспериментов необходимо использовать (кроме уже известной кнопки компиляции и запуска модели на выполнение) также… · запуска выполнения модели по шагам · паузы

Управление скоростью выполнения модели и изображением

Выполните несколько экспериментов с различными скоростями выполне­ния модели, используя кнопки останова, рестарта, запуска.      

Автоматическое обновление окна анимации

Автоматическая отрисовка изображения производится каждый раз, как только произошло событие в активном окне. При отсутствии этого режима отрисовка изображения анимации производится с некоторым шагом по времени. Чем чаще отрисовывается изображение, тем медленнее работает программа моделирования. Переключение между режимами осуществляется кнопкой переключения режимов обновления (см.рис. 10).

 

Предварительно определенные эксперименты с моделью

Значения параметров, режим реального либо виртуального времени при вы­полнении эксперимента, условие прекращения выполнения эксперимента и многое… Для одной и той же модели в AnyLogic можно определить несколько раз­личных…  

Работа с окнами

Вновь откройте редактор проекта Balls. В редакторе и при работе модели открытие и закрытие окна проекта и окна свойств выполняется соответственно… Окна структуры, поведения или анимации можно открыть двойным щелч­ком мыши на… С любым объектом (графиком, переменной, активным объектом в окне ре­дактора и т. п.) в редакторе AnyLogic связано…

Доработка модели

Выполним некоторые упражнения с моделью Balls, которые дадут некото­рое представление о средствах разработки моделей в AnyLogic.

Изменение цвета мяча в анимации при отскоке

Введите сначала переменную tBounce, которая будет фиксировать момент отскока. Для этого сделайте активным окно структуры активного объекта Ball и… Для того чтобы переменная tBounce фиксировала момент отскока, нужно значение… tBounce = getTime();

Введение второго мяча в модель

Введите в модель второй мяч. Для этого сделайте активным окно структур­ной диаграммы Root и перенесите в него еще один экземпляр мяча, щелк­нув левой кнопкой мыши сначала по имени Ball в окне проекта, а потом в окне структурной диаграммы Root. Появившийся объект автоматически по­лучит имя bain (рис. 14). При этом справа откроется окно свойств выде­ленного объекта (нового экземпляра мяча), в котором установлены те значе­ния параметров мяча, которые были определены для активного объекта Ball.

 
 

 


Рис. 11. Введение новой переменной в активный объект Ball

 
 

 


Рис. 12. Запоминание времени в момент отскока

 

Установите начальные значения х0 и у0координат х и у нового мяча рав­ными 200 и 300 (рис. 15).

 
 

 

 


Рис. 13. Запоминание времени в момент отскока

 

Чтобы движение нового мяча отобразить в анимации, в окне анимации про­дублируйте изображение мяча. Для чего нажмите левой кнопкой мыши на изображении мяча и при нажатой клавише <Ctr!> перенесите это изображе­ние в другое место поля анимации. Для нового изображения круга в правой части окна редактора появится окно свойств, в котором динамические зна­чения параметров (координат и цвета) связаны с характеристиками шара ball.

Их нужно связать с новым объектом -- шаром с именем Ball1. Иными сло­вами, вместо ball.x, ball.у и ball.tBounce в соответствующих полях нуж­но поставить ball1.x, ball1.у и ball1.tBounce (рис 15). Точно также на вкладке Овал этого окна для значения радиусов Радиус 1 и Радиус 2 нужно установить Ball1.rвместо ball.r.

Запустите модель. В модели теперь будут имитироваться независимые дви­жения двух шаров.

Произвольные перемещения мяча

Вернемся снова к экспериментам с одним мячом. Удалите из окна струк­турной диаграммы объекта Root объект Ball1, а из окна анимации удалите шар с…      

У <= r && vy < 0

следует дополнить:

У<= r && vy < 0 || у >= 500-r && vy > 0