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

PedSettings

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

Социальная дистанция

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

Индивидуальные пешеходы

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

Во время движения пешеходы не соблюдают социальную дистанцию с другими пешеходами, ожидающими в очередях или областях ожидания.

Группы

Члены группы не соблюдают социальную дистанцию между собой во время движения, в очередях и в областях ожидания.

Лифты

Социальная дистанция не соблюдается между пешеходами, находящимися внутри лифта. Однако, пешеходы будут стараться соблюдать дистанцию при ожидании лифта на уровне (этаже).

Очереди

Пешеходы в сервисных очередях соблюдают социальную дистанцию по сервисной линии. Если очередь-змейка нарисована так, что расстояние между пешеходами в этой очереди меньше заданной социальной дистанции, то дистанция будет соблюдаться каждым пешеходом только между собой и пешеходами, стоящими непосредственно впереди и позади. Расстояние между очередью и человеком внутри сервиса (servicePoint) не соблюдается.

Области ожидания

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

Расположение пешеходов в области ожидания согласно аттракторам имеет более высокий приоритет, чем требования социальной дистанции.

Параметры

Соблюдать социальную дистанцию
Выбрав эту опцию, вы сможете задать расстояние между пешеходами, которое они будут стараться соблюдать при движении или ожидании в очереди или области ожидания. Социальная дистанция не будет соблюдаться между пешеходами, находящимися в лифте, пешеходами - членами одной группы, а также между пешеходами, проходящими через очередь и пешеходами из этой очереди.
Синтаксис: boolean enableSocialDistancing
Значение по умолчанию: true
Социальная дистанция
[Параметр доступен, если выбрана опция Соблюдать социальную дистанцию]
Здесь вы можете задать расстояние в метрах, которое пешеходы соблюдать между собой.
Синтаксис: double socialDistance
Временной шаг
[Параметр недоступен, если выбрана опция Соблюдать социальную дистанцию]
Синхронный шаг моделирования. Значение не может быть равно 0. Присвоение данному параметру малых значений вынуждает пешехода двигаться более точно, но требует более высокой производительности. Рекомендуемое значение: 0.3 секунды. Если выбрана опция Соблюдать социальную дистанцию, шаг моделирования будет равен 0.1 секунды.
Имя: timeStep
Тип: double
Изменить значение: set_timeStep(новое значение)
Разрешить выделение пешехода мышью
Если опция выбрана (true), пользователь может выделить пешехода или снять выделение, щелкнув по нему мышью.
Имя: allowPedestrianSelectionByClick
Тип: boolean
Значение по умолчанию: true

Действия

При выборе пешехода
Код, выполняемый при выделении пешехода. Вы можете выделить пешехода, щелкнув мышью по его фигуре анимации или программно с помощью функции PedSettings.
Локальная переменная: ped — выделенный пешеход
При отмене выбора пешехода
Код, выполняемый при отмене выделения пешехода. Вы можете отменить выделение пешехода, щелкнув мышью в любом месте презентации модели или программно с помощью функции deselect(ped) блока PedSettings.
Локальная переменная: ped — пешеход
При формировании группы
Здесь вы можете написать Java код, который будет выполняться в момент окончания формирования новой группы пешеходов.
Локальная переменная: group — группа
При расформировании группы
Здесь вы можете написать Java код, который будет выполняться в момент окончания расформирования группы пешеходов.
Локальная переменная: group — группа
При изменении лидера группы
Здесь вы можете написать Java код, который будет выполняться в момент смены лидера группы пешеходов.
Локальные переменные:
group  — группа
oldLeader  — старый лидер группы
newLeader  — новый лидер группы
При изменении формы группы
Здесь вы можете написать Java код, который будет выполняться в момент смены формы (строя) группы пешеходов.
Локальные переменные:
group  — группа
GroupFormation oldFormation  — старая форма группы
GroupFormation newFormation  — новая форма группы
При добавлении пешехода в группу
Здесь вы можете написать Java код, который будет выполняться в момент добавления пешехода в группу.
Локальные переменные:
ped  — пешеход
PedGroup group  — группа
При удалении пешехода из группы
Здесь вы можете написать Java код, который будет выполняться в момент удаления пешехода из группы.
Локальные переменные:
ped  — пешеход
PedGroup group  — группа

Функции

Функция Описание
double socialDistance() Возвращает социальную дистанцию между пешеходами в метрах.
double socialDistance(LengthUnits units) Возвращает социальную дистанцию между пешеходами в указанных единицах длины.

units — константа, задающая единицу измерения длины
boolean enableSocialDistance() Проверяет, включена ли опция Соблюдать социальную дистанцию. Если включена, то функция возвращает true. В противном случае возвращает false.
int countGroups() Возвращает количество групп пешеходов в модели.
int countPeds() Возвращает количество пешеходов в модели.
void selectPed(Agent ped) Выделяет на анимации запущенной модели заданного аргументом пешехода.
void deselectPed() Снимает выделение с выделенного в данный момент времени пешехода.
Agent getSelectedPed() Возвращает выделенного в текущий момент времени пешехода (если такового нет, то null).
Set<Agent> getPeds() Возвращает неизменяемую переменную типа коллекция, содержащую всех пешеходов, находящихся в модели.
Set<PedGroup> getGroups() Возвращает неизменяемую переменную типа коллекция, содержащую все группы пешеходов, находящихся в модели.
double pixelsToMeters(double value) Преобразовывает заданное аргументом количество пикселей анимации в длину в метрах согласно заданному блоком масштабу анимации.
double metersToPixels(double value) Преобразовывает заданную аргументом длину в метрах в длину в количество пикселей анимации согласно заданному блоком масштабу анимации.
Как мы можем улучшить эту статью?