Симулятор многоуровневой парковки
Интерактивная 3D-модель парковки, которая работает прямо в браузере. По этажам ездят машины: подъезжают к шлагбаумам, получают талон, ищут свободное место, стоят, платят по тарифу в паркомате или на выезде и уезжают. Вы управляете всем: загрузкой, числом этажей и ворот, стратегией заполнения, тарифами и поведением водителей — и сразу видите результат.
Что можно делать
- Задать загруженность — например, 75 %: регулятор подстроит поток машин и удержит цель.
- Спроектировать парковку — от маленького двора на 30 мест до шестиэтажного паркинга на 2000 мест с несколькими въездами и выездами.
- Выбрать стратегию заполнения — ближе к въезду или к выезду, снизу вверх, равномерно по этажам, сначала бесплатные места или платные.
- Настроить тарифы — дневные и ночные ставки, бесплатные минуты, «первый час дороже», суточный максимум, штраф за потерянный талон — и посчитать стоимость любой стоянки.
- Вмешаться вручную — кликнуть по машине и «потерять» её талон, отправить её к выезду или задержать после оплаты; закрыть ворота или вывести место на обслуживание.
- Следить за статистикой — загрузка по этажам и размерам мест, выручка, отказы во въезде, очереди у ворот и графики во времени.
Как пользоваться
- Откройте страницу — для вас создаётся отдельная парковка, симуляция стартует в 08:00 виртуального времени.
- Вращайте сцену мышью, приближайте колесом, переключайте этажи и «разнос» этажей на верхней панели.
- Ускорьте время до ×100–×200, чтобы увидеть, как парковка заполняется к нужной загрузке.
- В «Настройках» меняйте параметры или примените готовый пресет: торговый центр, бизнес-центр, аэропорт, маленький двор.
Как устроено
Сервер на Go с базой PostgreSQL моделирует парковку так же, как настоящую систему: каждый въезд атомарно резервирует место, параллельные въезды через разные ворота не получают одно и то же место, оплата и выезд идемпотентны. Расчёт тарифа ведётся в целых копейках с учётом часового пояса. Сцена на three.js рисует до двух тысяч мест и сотни машин, а сервер присылает маршруты и события в реальном времени.