Хотя AnyLogic напрямую поддерживает движение на постоянной скорости и нулевое ускорение, вы можете смоделировать ускорение/торможение, изменяя скорость в подходящие моменты времени. Вы можете использовать диаграмму состояний с таким состояниями как Статический, Медленный, Средний, Быстрый и т.д. и переходы по таймауту, чтобы управлять движением.
Чтобы задать начальную скорость агента
- Откройте панель Свойства типа агента, щелкнув по нему мышью в панели Проекты.
- Откройте секцию свойств Размеры и движение.
- Укажите начальную скорость агентов этого типа в поле Начальная скорость. По умолчанию скорость равна м/с. Здесь же вы можете выбрать единицы измерения этой скорости.
- Скорость
-
Функция Описание void setSpeed(double v) Задает скорость (в пикселах в секунду), с которой агент будет передвигаться. Если на момент вызова метода агент движется, то он продолжит движение с новой скоростью. Если агент не движется, то он не начнет движение, пока вы не вызовете метод moveTo().
v — новая скоростьdouble getSpeed() Возвращает скорость агента (скорость является параметром агента, это та скорость, с которой он обычно передвигается, и ненулевая скорость еще не означает, что этот агент движется в данный момент времени).
Если вы задаете движение агента с помощью блока MoveTo, вы также можете задать требуемую скорость в свойствах этого блока.
Помните, что скорость агента изменяется, если вы используете функции moveToInTime(), чтобы задать движение.
-
Как мы можем улучшить эту статью?
-