AnyLogic
Развернуть
Размер шрифта

Задание масштаба анимации

Достаточно часто мы не можем изобразить на анимации большие объекты, например, склад или здание ж/д вокзала, в натуральную величину, поэтому при рисовании анимации таких объектов мы уменьшаем величину объекта в несколько раз, то есть масштабируем анимацию моделируемых объектов.

С помощью специального элемента Масштаб Вы можете задать масштаб анимации вашей модели, то есть, отношение размера объекта на анимации модели к натуральному размеру моделируемого объекта. Фактически, масштаб задается как соотношение пикселей анимации и физических единиц длины. Текущее заданное соотношение всегда отображается под элементом.

Масштабная линейка AnyLogic

Задав масштаб анимации, вы сможете оперировать именно физическими единицами измерения расстояний — метрами, километрами, и т.д. Например, вы сможете указать, что длина конвейера составляет 15 метров, высота ячейки складского стеллажа — 2 метра, и не заботиться о том, скольким пикселям на анимации модели соответствуют эти длины.

Элемент Масштаб не принадлежит какому-либо уровню.

Элемент Масштаб предоставляет два альтернативных способа задания масштаба анимации:

  • С учетом размеров фигуры анимации и реального объекта — Этот режим используется тогда, когда размеры анимации в вашей модели могут быть соотнесены с размерами реальных объектов с помощью масштабной линейки.
  • Задание коэффициента соотношения физических единиц длины и пикселей анимации модели — Этот режим используется в том случае, когда вы самостоятельно выбираете оптимальный с вашей точки зрения масштаб анимации для данной модели.

В вашей модели может быть несколько разных типов агентов, анимации которых могут быть нарисованы в различных масштабах. Элементом Масштаб задается масштаб для всех фигур анимации агента, поэтому на диаграмме каждого типа агента может быть не более одной масштабной линейки.

Элемент Масштаб имеет два режима задания масштаба. Вы можете использовать панель Свойства для этого элемента, чтобы указать его, или вы можете изменить длину линейки в графическом редакторе и задать таким образом количество пикселей, приходящихся на одну единицу измерения длины.

В свойствах элемента вы найдете параметр Масштаб с опциями Определяется графически или Задан явно:

  • По умолчанию Масштаб: Определяется графически. Также по умолчанию задан параметр Длина линейки соответствует: 10 метрам. Это значит, что если вы решите изменить длину элемента, перетащив его крайнюю точку в графическом редакторе или изменив свойство Длина, пикс, условная длина линейки останется равной 10 метрам, но масштаб изменится: количество пикселей в линейке будет поделено на 10 для вычисления масштаба одного метра к количеству пикселей.

  • Иначе, масштаб может быть Задан явно. Чтобы изменить масштаб, в расположенном ниже поле Масштаб введите число — количество пикселей, соответствующее одной единице длины (ее можно выбрать из расположенного справа выпадающего списка). Теперь, даже если вы измените длину элемента, масштаб останется тем же, изменится лишь количество задаваемых единиц в длине линейки:

Чтобы задать масштаб анимации агента согласно размерам объекта

Рассмотрим пример, в котором мы хотим задать масштаб анимации вагона поезда.

  1. Перетащите диаграмму типа агента вниз и вы найдете элемент Масштаб на диаграмме агента над осью X.
  2. Расположите элемент так, чтобы масштабная линейка точно совпадала с фигурой анимации по длине. Для перемещения элемента с точностью до пикселя, нажмите клавишу Alt, и держите ее нажатой во время перетаскивания элемента с помощью мыши. Вам также может помочь увеличение масштаба диаграммы графического редактора (кнопка Приблизить панели инструментов AnyLogic).
  3. Чтобы совместить конечные точки масштабной линейки с краями фигуры по длине, растяните масштабную линейку, перетащив мышью ее конец. При этом мы опять же рекомендуем держать нажатой клавишу Alt.
  4. Теперь нужно изменить заданный по умолчанию масштаб элемента на нужный нам. В данном случае длина вагона соответствует 27 метрам. Поэтому перейдите в панель свойств элемента и задайте масштаб в разделе Масштаб. Оставьте выбранной опцию Масштаб: Определяется графически. В расположенном ниже поле Длина линейки соответствует задайте 27 метров.

  5. Вы увидите, что значения линейки соответствуют тем, что мы и хотели задать. Теперь вы сможете легко задавать длины объектов и расстояния для данного типа агента, и AnyLogic будет принимать во внимание заданный вами здесь масштаб.
  6. Теперь, запустив модель, мы автоматически получаем реальное соответствие размеров в анимации.

Свойства

Основные

Имя — Имя фигуры.

Исключить — Если опция выбрана, то фигура будет исключена из модели.

Отображается на верхнем агенте — Если опция выбрана, то масштабная линейка видна на презентации агента, в котором будет находиться данный агент, на диаграмме которого нарисована эта линейка.

Блокировать — Если опция выбрана, то фигура будет считаться заблокированной и не будет реагировать на щелчки мыши. Таким образом, вы не сможете выбрать заблокированную фигуру в графическом редакторе до тех пор, пока вы не снимете с нее блокировку. Обычно это требуется, когда у вас есть какой-то фоновый рисунок, используемый как подложка для анимации, и вы хотите исключить возможность случайного редактирования этого фонового рисунка при рисовании фигур поверх него.

Видимость — Если опция выбрана, то масштабная линейка будет видна на презентации агента во время работы модели.

Длина, пикс. — Длина масштабной линейки на диаграмме анимации, в пикселях.

Масштаб — Здесь вы можете выбрать, как именно элемент задает масштаб анимации.

Определяется графически — Используйте данный режим, когда у вас есть фигура анимации в модели, которой моделируется объект, размеры которого вам известны.
Задан явно — Используйте данный режим, чтобы явно указать соответствие пикселей анимации и единиц расстояния моделируемого пространства.
Расположение

X — X-координата масштабной линейки.

Y — Y-координата масштабной линейки.

Поворот — Угол поворота масштабной линейки.

Как мы можем улучшить эту статью?