Комментарии 23
Обычно достаточно при постройке новых дорожек посмотреть где люди натоптали тропинку.
>>… условных параметров “торопливость” и “стойкость”, которые для каждого человека, разумеется, разные.
Эти параметры, кстати, меняются у одного человека, в зависимости от разных обстоятельств.
Например, когда я был студентом, для меня было «комфортным» перепрыгнуть через турникет. А сейчас всегда плачу.
Да и такие мелкие детали как одетая обувь могут влиять — в туфлях человек может пройти по тратуару, а в гриндерах срежет уголок.
Эти параметры, кстати, меняются у одного человека, в зависимости от разных обстоятельств.
Например, когда я был студентом, для меня было «комфортным» перепрыгнуть через турникет. А сейчас всегда плачу.
Да и такие мелкие детали как одетая обувь могут влиять — в туфлях человек может пройти по тратуару, а в гриндерах срежет уголок.
В городах БАМа в некоторых сначала кали основные тротуары, а потом асфальтировали протоптанные дорожки
Это вариант. Однако часто некомфортный для людей. Попробуйте пройти просто так по пустырю где-нибудь в районе новостроек, там лужи и ямы такие, что лучше пожалеть прохожих и все спроектировать заранее.
Для меня было бы НЕкомфортным пройти между двумя собаками — на время попадаешь в тиски.
Для людей с низкой толерантностью (которым не подходит условно зеленая зона) этот вариант моделируется — можно обойти обоих собак по большой дуге не заходя в центр.
Там рисунок немного сбивает с толку. Собаки такие огромные, что кажется, вмиг догонят и разорвут. Учитывая их размер, я бы шел по дуге вне квадрата :-) Но если принять, что «зелененькое» это комфортная зона независимо от размера собак, то все ок.
Глупый вопрос возник.
А нельзя ли это все описать, используя банальную оптику?
Где разные уровни комфортности определяют коэффициент преломления, а уровень торопливости — длину волны.
По крайней мере, при взгляде на рисунок с пересечением дороги эта ассоциация возникает самым очевидным образом.
А нельзя ли это все описать, используя банальную оптику?
Где разные уровни комфортности определяют коэффициент преломления, а уровень торопливости — длину волны.
По крайней мере, при взгляде на рисунок с пересечением дороги эта ассоциация возникает самым очевидным образом.
Даже более глобально — используя принцип наименьшего действия.
Из него же и оптика вся выводится в теор. физике.
Там и математика внятная, и никаких спекуляций с «длиной волны пешехода» не понадобится. Лагранжиан ввести, и дальше оставить комп решать задачу по любым граничным условиям — геометрия тропинок, препятствия, количество проходимцев мимо дорожек в месяц…
(А то сейчас нифига не понятно, как строить эту функцию комфорта. К примеру, почему на рисунке 6 фронты функции круглые, хотя газон квадратный.)
Из него же и оптика вся выводится в теор. физике.
Там и математика внятная, и никаких спекуляций с «длиной волны пешехода» не понадобится. Лагранжиан ввести, и дальше оставить комп решать задачу по любым граничным условиям — геометрия тропинок, препятствия, количество проходимцев мимо дорожек в месяц…
(А то сейчас нифига не понятно, как строить эту функцию комфорта. К примеру, почему на рисунке 6 фронты функции круглые, хотя газон квадратный.)
С дорогой не совсем, как мне кажется, верный пример — там надо чуть изменить модель. Обычно человек подходит к дороге, начинает пересекать ей под прямым углом, стремясь поскорее её перейти и оказать в комфортной зоне, но по мере приближения к противоположному краю начинает забирать в нужную сторону, так как по мере приближения к краю дороги торопливость начинает влиять на траекторию всё больше, чем меньше осталось пройти по некомфортной области. То есть, на мой взгляд, имеет место факт влияния вектора направления движения.
ИМХО, задача распадается на две.
1) Моделирование поведения пешехода. Это, по-моему, задача поиска пути на взвешенном графе.
Граф — прямоугольная решётка, задающая местность, вес — «комфортность» (собака и центр автобана — минимум, ровный асфальт — максимум). Связи — как минимум с 8 соседними узлами. Если сделать шаг решётки 10-20см, это будет неплохо моделировать пешехода на улицах.
Задача решается довольно просто волновым алгоритмом (поэтому решение и похоже на оптику и принцип наименьшего действия, это цифровой вариант наименьшего действия).
Чтобы определить все необходимые дорожки, нужно запускать такой алгоритм для всех возможных маршрутов (например, автостоянка — дом, дом — сосед, сосед — автостоянка, дом — магазин и т.д.) сначала без готовых дорожек — моделируем пешеходов на газоне.
Нужно не забыть про особые случае — велосипедисты, старики с палочками, инвалиды на калясках, матери с детьми в колясках, женщины на высоких каблуках, школьники (перепрыгнуть через небольшой заборчик) и т.д.
2) Определение что и как асфальтировать.
Для этого запускаем «эволюцию» системы — каждый маршрут модифицирует граф — пешеход вытаптывает тропинку на газоне и т.п. Маршруты начнут объединяться, склеиваться и т.д. (люди скорее пойдут по вытоптанной тропинке, чем в метре от неё по свежей траве).
Когда картина устаканится, можно начать моделировать асфальтирование тропинок — менять веса графа на асфальт (совсем комфортные) по выбранным маршрутам и проверять, не меняют ли люди маршруты. Если удалось добиться замены всех вытоптанных тропинок на асфальтированные — задача решена. Потом ещё можно проверить, не стали ли какие-то фрагменты асфальта бесполезными.
1) Моделирование поведения пешехода. Это, по-моему, задача поиска пути на взвешенном графе.
Граф — прямоугольная решётка, задающая местность, вес — «комфортность» (собака и центр автобана — минимум, ровный асфальт — максимум). Связи — как минимум с 8 соседними узлами. Если сделать шаг решётки 10-20см, это будет неплохо моделировать пешехода на улицах.
Задача решается довольно просто волновым алгоритмом (поэтому решение и похоже на оптику и принцип наименьшего действия, это цифровой вариант наименьшего действия).
Чтобы определить все необходимые дорожки, нужно запускать такой алгоритм для всех возможных маршрутов (например, автостоянка — дом, дом — сосед, сосед — автостоянка, дом — магазин и т.д.) сначала без готовых дорожек — моделируем пешеходов на газоне.
Нужно не забыть про особые случае — велосипедисты, старики с палочками, инвалиды на калясках, матери с детьми в колясках, женщины на высоких каблуках, школьники (перепрыгнуть через небольшой заборчик) и т.д.
2) Определение что и как асфальтировать.
Для этого запускаем «эволюцию» системы — каждый маршрут модифицирует граф — пешеход вытаптывает тропинку на газоне и т.п. Маршруты начнут объединяться, склеиваться и т.д. (люди скорее пойдут по вытоптанной тропинке, чем в метре от неё по свежей траве).
Когда картина устаканится, можно начать моделировать асфальтирование тропинок — менять веса графа на асфальт (совсем комфортные) по выбранным маршрутам и проверять, не меняют ли люди маршруты. Если удалось добиться замены всех вытоптанных тропинок на асфальтированные — задача решена. Потом ещё можно проверить, не стали ли какие-то фрагменты асфальта бесполезными.
Ссылка на статью habr.com/ru/post/257563 должна быть здесь. Там программируют поиск дорожек
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Как не вытоптать дорожки в парке