Ю. Карпов - Иммитационное моделирование систем с AnyLogic 5 (1124147), страница 76
Текст из файла (страница 76)
Этот параметр у шара сделан глобальным (что в терминах языка за~а называется статическим, то есть относящимся ко всему классу, а не к экземпляру класса). Это можно сделать, поскольку радиус шара в нашей модели не изменяется в каждом конкретном экземпляре класса ва11: он связан лишь с самим классом ва11. Для этого в окне свойств параметра х в активном объекте ва11 установлен тип этого параметра 374 Часзь К Примеры моделей для различных областей применения Глобальный (О!оЬа().
Из активного объекта аоос обращаться к этому параметру можно так: ва11.х. Именно это сделано в слайдере, изменяюшем этот параметр. Полностью аналогично определен обший для всех шаров параметр ш 23.3.9. Динамическое изменение числа шаров РабЬта с динамически изменяюшимися массивами активных объектов описана в разд. 7.б. Там же определены операторы, которые нужно использовать для порождения нового объекта и для выбрасывания одного из существуюших.
Для исключения произвольного шара (элемента массива ьа11в) из данной модели при ее функционировании мы можем использовать оператор: 1Г( Ьа11я.яьяе()яс ) с)ьярояе Ьа11в( Ьа11в.хапает[ ) ); который сначала проверяет, есть ли в модели хотя бы один шар. Для включения в этот массив дополнительного шара (элемента класса ва11) при функционировании модели используется оператор: ветер Ьа11я( пен Ва11( ), 0 ); Эти операторы введены в поле Реакция иа событие окон свойств соответствуюших кнопок анимации ( — шар и +шар). Нажатие этих кнопок во время работы модели приведет к нужному эффекту (рис. 23.5). Рис. 23.5. Окно анимации в процессе выполнения модели Глава 23. Обучение физике и механике 23.4. Модель плоской кинематики 23.4.1.
Постановка задачи Постановка задачи полностью определяется рис. 23.6. Необходимо постро- ить траекторию точки т жесткой системы, в которой стержень гг двигается вокруг неподвижной опоры с постоянной угловой скоростью. Рис. 23.6. Кинематика четырех стержней исходные данные (параметры) задачи: гт=тво, тг=эо, сз=гто, т4< тгс, Одна из проблем, возникающих при исследовании этого механизма — при КаКИХ уСЛОВИяХ (НаирИМЕр, Прн КаКОЙ ДЛИНЕ СтЕржНя т4) СтсржЕНЬ кг МОжЕт вращаться вокруг точки л без ограничений.
Подобные проблемы именно для этой системы рассматриваются в курсе "Кинематика и динаиика машин" Университета )чегго Пап)е в США: тттт)т.в<!.е()ц/ агав)а(с/МЕ339/ йгаа!)о(т.сп(ег)ов.р()т". Модель данной механической системы, разработанная в среде Апу1.ой(с, представлена в проекте гоосваскьоеаастсвт. Она находится в папке Моде! Еха(пр!еа~Рап Ч. Уравнения Координаты точек л, в, с, о и т легко выражаются через длины стержней и углы.
Длины стержней в модели обозначаются гт, сг, ... х4. Расположим ТОЧКУ й В НаЧаЛЕ КООРдИНат. ТОГда КООРДИНатЫ ТОЧКИ Г), ОЧЕВИДНО, (т4, О), а остальные координаты: хвкаг*сов[рпдг) хе=сг+с4*сов<рь14); хт=(хв+хо)Г2; увке2*еьо(рн42); уссе4*в(а(рь44); ут=(ув+ус)тг. Это классическая задача кинематики: построить траекторию некоторой точ- ки системы из четырех стержней, в которой один стержень двигается вокруг своей неподвижной опоры. Часть )т'. Приме ы моделей для различных областей применения Угол рь?2 пусть растет с угловой сКоростьЮ 1 рад/с, т.
е его можно опреде- лить так: р?з?2=с. Два других угла определятся из неявных уравнений: хВ+тз*сов(р?зз.з) = хС; ув+тззвгп(р?з?З) = т4*вгп(р?з?4). 23.4.2. Описание модели Модель имеет только один активный объект, представляющий модель трех движущихся стержней, поэтому корневой объект иоз?е? является единственным активным объектом нашей модели. В поле параметры окна свойств объекта мосе? определены четыре вещественных параметра н.ыьво, тзхэа, тз=2?о, т44ьзо. В окне редактора структуры определены семь переменных С Пдааающсй Заиятсй: хВ, уВ, хС, уС, хТ, уТ, риз.2, ри?З, р?з?4.
УГОЛ ри?2 ОПрЕдЕЛЕН фОрМуЛОИ ритзхо, ПОСКОЛЬКУ В НаШЕй МОДЕЛИ ОН ИЗМЕ- няется с угловой скоростью ! рал/сек. Текущее время в формулах в АпуЕоязс задается переменной с предопределенным именем с. Поэтому в поле формул для рь?2 записано просто е. Для того чтобы описать в АпуЕоцзс ту переменную, которая залается уравнением неявным образом, следует записать в поле Уравнения окна Код активного объекта ноззез это уравнение в приведенном виде так, чтобы в левой части его стоял О, и записать ту переменную, которая этим уравнением определяется, в скобках после имени функции г?пб. Например, для переменНОй р?з?З, КОтсрая ОПрЕдЕЛяЕтея ИЗ ураВНЕНИя хв+тз*сов(р?з?З)-"хС в две строки без точек с запятой записано следующее: О = хВ+тз*сов(ри?З) — хС Йзпд ( р?ззз) Аналогично определена переменная рл?4. В Апу).ой)с все неявные уравнения, определяющие группу переменных, собираются в одну систему, и перечисление тех переменных, которые должны определяться из этой системы, может быть задано либо несколькими строками Йгпзт(х) гьпз?(у) ггпу(в) либо одной строкой Еьпз?(х, у, в) Именно так сделано при построении этой модели (рис.
23.7). Глава 23. Обучение физике и механике Рис. 23.7. Задание переменных явными и неявными уравнениями Рис. 23.8. Траектория критической точки кинематической модели 378 Часть и Примеры моделей для зличных областей применения Запустив модель Рссхваскгсевасьсе1 на выполнение, вы увидите следую- шую траекторию точки т — рис.
23.8. 23.4.3. Анимация работы трехзвенного механизма Анимация по возможности должна представлять реальное поведение моделируемой системы. Анимированные модели выигрывают именно потому, что ожившее динамическое изображение способствует более глубокому пониманию сути моделируемых явлений. В данном проекте анимация состоит в оживлении рис. 23.6.
Отображение траектории точки при анимации. Ломаная линия Отличие анимационной картинки от графика состоит в том, что лвижушиеся объекты анимации не оставляют следов при движении. Если требуется отобразить траекторию движущегося обьекта, это следует сделать явно при спецификации анимации. Это можно сделать, например„построив ломаную из нескольких точек, причем при каждом шаге перерисовывания выводимого изображения в окне анимации данная ломаная должна перерисовываться.
Один конец введенной ломаной должен в каждый момент перерисовки изображения принимать значения координат точки т с продвижением значений координат всех других точек. В модели эта ломаная названа рь. Динамическое число точек ломаной рь задано параметром н. Точки ломаной определены так, что координаты Х, У последней точки (ее номер равен н-1) принимают значения текуших коордниат ТОЧКИ т На ЭТОМ ШаГЕ (т.
Е. хт И РТ), а Каждая Прсдмдущая (1-я) тОЧКа ломаной рь при каждом перерисовывании картинки продвигается на место послелуюшей (('+1)-й). В АпуЕой1с значение координаты Х точки с номером к у объекта Рь можно получить, вызвав функцию рь.десвсгссх<Ю. Поэтому пересчет координат Х ЛОМаНОЙ РЬ В ПОЛЕ Х[гссех1 ОПрЕдЕЛяЕтСя СЛЕдуЮШИМ ВЫражЕНИЕМ яЗЫКа Уача: 1поех == Б-1? хТ: рь.деСРс1пСХ(1соех +1) а в поле т ~1сцех> — ВЫРажением: 1сдех == И-1т уТ: рь.деСРогпет!Тсс1ех+1) С моделью можно выполнить несколько экспериментов. Во-первых, можно изменять параметр г4 и наблюдать, как при этом меняется траектория точки т (рис.
23.9). Далее, можно изменять число точек ломаной рь, установив другие значения параметра н. Глава 23. Обучение ивине и механике Рис. 23.9. Выполнение модели Зту модель можно улучшить следующим образом. В тот момент модельного времени, когда с помощью слайдера значение параметра ха изменится, соберите все точки траектории, нарисованной в поле анимации, в точку т для того, чтобы старая траектория исчезла из поля анимации. Зта модель Ресхвехктпееаеьсвг находится в папке Мог(е! Ехагпр!ез. Точки траектории — это точки ломаной с именем рь, определенной в аниМацнн.
ЛОМаНая яВЛяЕтея ЭКЗЕМПЛярОМ КЛаССа Эиаревсау. В ЭТОМ КЛаССЕ ОП- ределено несколько методов. Все методы классов, которые используются в Апу1лй(с, перечислены в Слравочаике классов, доступном при нажатии кнопки Справка главного меню. Один из методов этого класса, который МОЖНО НайтИ В СПраВОЧНИКŠ— МЕтад весветпс, уСтаНаВЛИВаЮщИй КООрдИ- наты з-й точки ломаной. У ломаной рь ровно н точек, которые нумеруются от о до н-т.
Для того чтобы присвоить всем точкам ломаной рь значения координат точки т, в поле аНИМацИИ В МОДЕЛИ РоихВахитпееасцеег ВВЕдЕНа дОПОЛНИтЕЛЬНая КНОП- ка ~~К~ с именем Сброс траектории, и в поле Реакция иа событие окна свойств этой кнопки помещен код: гох(ьпс ь=с; ь<и~ т++) рв.весРетпе(з., хТ, УТ)г Часть К Примеры моделей для ааличных областей применения Любое нажатие кнопки Сброс траектории вызывает выполнение указанного цикла, что вырюкается в исчезновении нарисованной ранее траектории — все точки ломаной будут проецироваться в этот момент в точку т (рис.