Ю. Карпов - Иммитационное моделирование систем с AnyLogic 5 (1124147), страница 16
Текст из файла (страница 16)
Ширину и высоту рамки установите равными б00 и 400 в соответствующих полях окна ее свойств. Этого же положения и размеров можно добиться манипуляциями с рамкой как с обычным графическим объектом (изменением ее размеров и положения) с помощью мыши. Т4 Часть //. Средства длу/.одlс для имитационного модели ования систем Рис. 5.11. Окно анимации Объекты в поле анимации Будем строить анимацию динамики работы сердечной мышцы как изображения круга (овала), радиус которого будет меняться. Этот радиус является Функцией от значения переменной х модели. Во-первых, построим изображение овала. Для этого, щелкнув мышью на панели инструментов по кнопке Овал [Я нарисуем в любом месте поля анимации какой-нибудь овал. Справа появится окно Свойства этого овала. Свойства овала уже установлены по умолчанию, и мы можем их редактировать. По умолчанию имя этого объекта будет сча1, координаты Х и т соответствуют месту, куда мы поместили овал в поле анимации, а ширина и высота соответствуют тому.
что мы нарисовали. Динамические значения характеристик графических объектов анимации Если мы запустим модель на выполнение, мы увидим, что в окне анимации этот овал находится неподвижно именно в том месте, которое определено его заданными коорлинатами, и с установленными нами размерами. Как уже говорилось, в Апу) оьдс принята следующая концепция: каждая характе- Глава Б. Разработка простых моделей непрерывных систем 75 ристика графического элемента, помешенного в окно анимации, имеет два значения: статическое и динамическое. Статическое значение определяет характеристику (координату, угол поворота, цвет и т. п.) объекта в окне анимации в статике как константу в процессе редактирования. Динамическое определяет значение этой характеристики в процессе выполнения модели и может быть определено как значение любой переменной модели и даже как любая функция от переменных модели.
Поэтому обычно характеристика графического объекта имеет два поля в окне свойств объекта: левое поле для статического значения, правое — для динамического значения (рис, 5.!2). Если динамическое значение не определено, в динамике характеристика этого графического объекта сохраняет свое статическое значение. Например, выделите штриховую границу поля анимации и заметьте, что в окне ее свойств правые поля характеристик задать нельзя. Это и понятно: размеры и координаты поля анимации не могут изменяться при вьгполнении модели.
Рис. 5.12. Окно свойств овала в окне анимации Выделите овал, который будет представлять динамику бьюшегося сердца. Статические значения его характеристик задайте так: в окне свойств овала Часть 11. Средства Алу1 одгс для имитационного моделирования систем в левых полях установите координаты центра Хи Уравными 150 и -100 соответственно, ширину и высоту по 120, цвет заливки определите бордовым, цвет линии границы — красным; ширину линни границы установите 2. Динамические значения характеристик овала должны отражать "жизнь" этого объекта в процессе выполнения модели. Изменение объема сердца будем представлять меняющимся радиусом овала. Радиус овала задается в окне его свойств на вкладке Овал.
Определите радиусы овала как меняющиеся в зависимости от переменной х так, как гюказано на рис. 5.13. Рис. В.тэ. динамические свойства овала Запустите модель. Проведите эксперименты с установкой различных коэффициентов между реальным и модельным временем. Кроме того, можно изменять параметры модели (хО и ерг) и наблюдать, как изменяется характер сердцебиения. Графики и слайдары в анимации Целью разработки этой модели является исследование влияния ее параметров на поведение системы. Введем график непосредственно в поле анимации. Щелкнув на кнопке Индикатор-диаграмма (Я панели инструментов, поместите график в поле анимации и, изменяя мышью положение и размеры дашюго графического объекта, добейтесь, чтобы в открывшемся окне свойств этого нового объекта на вкладке Общие установились статические параметры Х = 20, г' = 50, Шнрнпа = 2б0, Высота = 100.
Такого же эффекта можно добиться, если данные значения будут установлены непосредственно в соответствующих полях (статических значений параметров) окна свойств этого объекта. Чтобы связать график с переменными модели, откройте вкладку Индикатор- диаграмма окна свойств этого графика и установите в поле Отображает имя х, в поле Размер окна значение 10, в полях Минимум и Максимум значения — 1.5 и 1.5. Цвет графика (Цвет индикации) и цвет надписей у координатных линий (Цвет шкалы) выберите по желанию, Запустите модель на выполнение.
Иногда удобно, чтобы анимация была представлена на цветном фоне. Пусть этот фон для бьющегося сердца будет черным. Введите в поле анимации Глава б. Разработка простых моделей непрерывных систем прямоугольник так, чтобы координаты Х и У его верхнего левого угла были О, -200, а ширина и высота бьсли бы 300 и 400. Цвет заливки этого объекта выберите черный. Для того чтобы эта фигура была фоном и не закрывала другие изображения, в контекстном меню данного прямоугольника выполните команду Перенестн назад. Другую половину поля анимации залейте каким-либо фоном (введите прямоугольник и заполните его нужным цветом, см. рис. 5.!). В этой части поля мы поместим графические элементы управления экспериментом.
Шелкните мышью на кнопке слайдера (бегунко) ~~Я панели инструментов и поместите его в поле анимации с координатами Х= — 270, У= 80, с шириной и высотой — 240 и 20. В поле Переменная вкладки Бегунок выберите в выпадающем меню из возможных переменных имя ерз, а минимальное и максимальное значения, которые можно регулировать слайдером, установите 0.01 и 0.5.
Запустите модель. Текст в поле анимации Двигая слайдер, можно наблюдать изменение характера пульса на графике. В окне пю$, содержащем переменные и параметры модели, можно видеть, как значение параметра ерз изменяется при движении слайдера. Конечно, имя параметра и его текущее значение удобно отобразить рядом со слайдером. Вернувшись в редактор, щелкните мышью при активном окне анимации кнопку ~~'": на панели инструментов и затем щелкните у левого верхнего угла слайдера. В появившемся у слайдера поле наберите текст ерв=. С этим текстом связано окно свойств.
На вкладке Текст этого окна у параметра Текст есть два поля: верхнее (для введения спгптического текста) и нижнее (для введения динпмичского текста, появляющегося в процессе выполнения модели). В верхнем уже появилась строка еразч набранная нами в поле анимации. Злесь, в окне, ее можно изменить, дополнить и т. и. Но это поле показывает лишь статический текст, который при пустом нижнем поле будет статически отображатья в окне анимации при прогоне модели.
Оставьте данный текст без изменения, поле динамических значений также оставьте пустым. Для представления значения параметра ерз поместите рядом с текстом ерв= в поле анимации еше один текст из нескольких символов, например гзз. Выберите его цвет синим. Это также статический текст, но в динамике он может отображать то, что записано в поле динамического значения этого объекта. Поместите туда имя параметра ерз (рис. 5З4). В процессе выполнения модели на месте текста газ теперь будет отображаться численное значение параметра е)хг.
Запустите модель и убедитесь, что значение параметра ерз при изменении его слайдером можно видеть непосредственно у слайдера. Постройте подобный слайдер также для параметра кО. Часть ц Средства Апусад)с для имитационного моделирования систем Рис. 5.14. Задание текста в поле анимации В верхнюю левую часть поля анимации введите поясняюший текст. В редакторе при активном окне анимации щелкните мышью на кнопке ~Т::. "введения текста на панели инструментов и после этого шелкните в поле анимации в вехнем левом углу.
Установите в появившемся окне свойств текста координаты (Х Г) этого объекта ( — 280, — 170) на вкладке Общие. В поле Текст вкладки Текст данного окна заладим статический текст модель сердца, который будет отображаться в этом месте поля анимации. Нажав кнопку Выбрать окна свойств этого объекта, можно выбрать параметры (стиль, размер) текста.
Выберите шрифт Сеп(вгу тто(Ыс, стиль ВаЫ, размер 22. Следующий текст, содержащий пояснение к модели, введите в псле статического текста с координатами ( — 290, — 120): это простая модель динамики сердечных сокращений. Недель описывается двумя дифференциальными уравнениями: стх/ЙС = (х-х"3-Ь1/ерв н дЫбп = х-хО.
Вы можете менять параметры и наблюдать изменение ритма и Формы пульсаций. При значении хс = О.б сердце останавливается. Все другие параметры текста оставьте установленными по умолчанию. Для того чтобы текст уместился в окне анимации по ширине, в нужных местах следует поставить перевод строки.
Наша первая модель построена. Вы можете сравнить ее с моделью неаксз, помешенной в папку Моде! Ехаптр)ее~ран И. 5.2. Счетчик (СопМпиоивСоигйег) Счетчик является дискретным устройством, его состояние изменяется в дискретные моменты времени. Поэтому лля построения модели счетчика более естественно использовать средства, сушествуюшие в АпуЕо81с для разработки дискретно-событийных систем (события, порты, сообщения).
В следующей главе модель такого же счетчика с использованием этих Глава 5. Разработка простых моделей непрерывных систем средств будет подробно проанализирована, а здесь мы рассмотрим самую простую, хотя и не очень естественную его модель, построенную только с использованием непрерывных переменных и статического таймера — основного средства в АпуЕо81с для порождения событий. 5.2.1. Рассматриваемые вопросы В результате построения модели счетчика будет рассмотрено несколько новых вопросов. П Создание нового класса активного объекта. П Статический таймер. П Иерархическая структура модели. П Входные и выходные переменные компонентов структуры.
П Связи компонентов по переменным. П Включение анимированных графических образов экземпляров активных объектов в анимацию включающего их активного объекта. 5.2.2. Постановка проблемы Нужно гюстроить модель трехразрядного десятичного счетчика, работающего от генератора "тиков", На рис. 5.!5 представлен счетчик, насчитавший 278 импульсов от генератора. Рис. 5.15.
Трекразрядный десятичный счетчик 5.2.3. Модель Для реализации имитационной модели нужно построить генератор "тиков", работающий с заданной частотой, и три одинаковых десятичных разряда счетчика. Следовательно, модель должна содержать три класса активных объектов: генератор "тиков", разряд счетчика по молулю !О и, кроме того, корневой активный объект, который будет включать в себя один экземпляр генератора и три одинаковых экземпляра одноразрядного счетчика, связанные подходящим образом. Часть!I. Средства ЯлуЕоди для имитационного моделирования систем 80 Создайте новый проект под названием сспсъппспа спппеет. Корневой объект назовите мпйе1.