Как заставить пешеходов появляться на AreaNode с помощью аттракторов из pedSource - PullRequest
1 голос
/ 28 мая 2019

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

Я создал коллекцию областей, в которых пешеходы будут отображаться с использованием allLocations (area, area1, area2 и OfficeArea). Событие запускается событием и использует блок задержки. Максимальное количество пешеходов на данном этаже - 100

.

Изображение блок-схемы

Изображение плана планировки

Вот код, который я пробовал, когда пешеходы будут появляться в зонах:

    allLocations.get(uniform_discr(0, allLocations.size()-1))

Я ожидаю, что фиксированное количество пешеходов в офисе будет равно 10 и расположено там, где я установил аттракторы, но фактический результат показывает более 10 пешеходов и не отображается на аттракторе набора.

Изображение фактического результата

1 Ответ

0 голосов
/ 28 мая 2019

Установка аттрактора в качестве цели для пешеходов в соответствии с документацией , работающей только для блоков pedWait и pedGoTo (на самом деле я мог получить только работать с pedWait , а не с pedGoTo ). Поэтому вы не можете инициализировать агентов непосредственно на аттракторах, используя начальное местоположение или функцию jumpTo ().

В качестве обходного пути у вас есть несколько вариантов:

  1. Извлеките координаты x, y аттрактора и используйте тип point (x, y) , чтобы определить начальное местоположение или местоположение для jumpTo ()
  2. Вместо использования (графических) аттракторов рассмотрим просто определение точек по коду напрямую
  3. Используйте очень маленькие отдельные области вместо одной большой области с аттракторами
  4. Используйте блок pedWait в своем технологическом процессе и дайте пешеходам «идти» к своим исходным позициям. Перед началом эвакуации дайте модели немного времени, пока все не окажутся в нужном месте. Вы также можете запустить модель в сверхбыстром режиме на этом начальном этапе, чтобы она едва была видна.
...