Использование пользовательской визуализации для сущностей

Обзор

Эти примеры показывают, как можно создать пользовательскую визуализацию на основе MATLAB для сущностей. Пример иллюстрирует визуализацию размещения ресторана с посещением, обедом и уходом сущностей.

Структура модели

Модель содержит следующие основные компоненты:

  • Пул ресурсов моделирует таблицы в ресторане. Поскольку в ресторане 10 таблиц, ресурсная сумма составляет 10.

  • Блок Entity Generator (Patron Enter) генерирует сущности, представляющие клиентов. Они заходят в область ожидания, представленную Resource Acquire. Здесь ждут свободной таблицы.

  • Когда таблица доступна для клиента, он может перейти к блоку Entity Server, который моделирует длительность еды.

  • Когда клиент закончил есть, он отпускает таблицу обратно в бассейн и выходит из ресторана.

modelname = 'seCustomVisualization';
open_system(modelname);

Визуализация ресторана

seRestaurantAnimator визуализирует ресторан следующим образом:

  • seRestaurantAnimator обеспечивает визуализацию размещения ресторана для модели.

  • Он генерирует рисунок, содержащую размещение ресторана с входом, зоной ожидания, 10 обеденных таблицы и выходом.

  • Когда сущности перемещаются во время симуляции, они создают маркер (глиф) для каждой сущности на рисунке и программируют движение для маркера, так что он, по-видимому, переходит от одной точки к другой.

  • Аниматор присваивает идентификатор таблицы каждому ожидающему клиенту и показывает перемещение клиента к таблице.

  • Чтобы просмотреть атрибуты сущности клиента, приостановите работу модели и щелкните глиф сущности клиента. Рисунок отображает атрибут TimeToDine.

  • Чтобы движение казалось непрерывным, оно использует таймер MATLAB, чтобы периодически выполнять функцию, которая постепенно перемещает каждую сущность к месту назначения.

  • Он использует графику MATLAB, чтобы отобразить статистику на рисунке о количестве сущностей, входящих, ожидающих и уходящих.

  • При нажатии на сущность в визуализации отображаются содержащиеся в ней атрибуты. Он использует графический коллбэк MATLAB, чтобы запрограммировать ButtonDownFcn на каждом маркере сущности.

animator = seRestaurantAnimator;

Чтобы симулировать модель, введите:

  sim(modelname);

close(animator.getFigureHandle);
bdclose all;
clear modelname animator

См. также

| |

Похожие темы