Визуальная модель отрывающегося маятника.
Запустив модель, мы видим по фазовой диаграмме, что маятник вроде бы действительно отрывается (Рис 6.29Рис 6.16).
Рис 6.2916 Однако, хотелось бы наблюдать в динамике смену качественных состояний модели на карте поведения. Для этого в окне виртуального стенда щелкнем правой кнопкой мыши на изображении экземпляра маятника «Маятник_1» и выполним команду «Поведение» всплывающего меню (Рис 6.31Рис 6.17).
Рис 6.3117 В результате выполнения этой команды откроется окно динамической визуализации главной карты поведения данного блока. Если (как в данном случае) эта карта вырождена, то есть имеется только один узел, которому приписана другая карта состояния, то она откроется в качестве главной (Рис 6.33Рис 6.18).
Рис 6.3318 При динамической визуализации карты поведения используются следующие соглашения: текущий узел показан сплошной закраской (на Рис 6.33Рис 6.18 это узел «Колебания»), активные переходы (исходящие из текущего узла) показаны черной линией (на Рис 6.33Рис 6.18 это переход из узла «Колебания» в узел «Свободный_полет»), неактивные узлы и переходы - серыми линиями (на Рис 6.33Рис 6.18 это узел «Останов» и переход в него). Линия срабатывающего перехода подсвечивается на интервал времени, достаточный для фиксации глазом (200 мс). Все эти цвета можно настроить по-своему на странице «Цвета» в установках выполняемой модели (переход к редактированию установок по кнопке или команде «Установки / Модель»).
Если в диалоге редактирования условий останова на странице «По переходу» поставить флажок «Любой переход», то при срабатывании каждого перехода модель будет останавливаться и срабатывающий переход будет выделяться мерцанием в окне своей карты поведения (если окно не было открыто, оно откроется автоматически).
Если локальным поведением в узле является другая карта поведения, то соответствующее ей окно открывается двойным щелчком мыши на этом узле.
Рис 6.3519
У нас остается еще одна небольшая несуразность: В окне анимации видно, что после момента отрыва стержень начинает растягиваться, не отрываясь от шарика. Это происходит потому, что в качестве координат свободного конца стержня в установках анимации заданы координаты материальной точки. Поэтому нам придется вернуться в интегрированную оболочку, ввести в классе «Маятник» еще две переменных xL: double:= 0; yL: double:= 0; и добавить в «Система_уравнений_1» еще две формулы xL = x; yL = y; Снова запустим новую визуальную модель, в установках анимации координаты свободного конца стержня сопоставим переменным xL, yL и получим наконец правильную картинку (Рис 6.35Рис 6.19). Эта небольшая доработка является хорошей иллюстрацией того, что модель иногда приходится специально изменять исключительно в угоду анимации.
|