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

Перекресток

С помощью элемента разметки пространства Перекресток вы можете соединять две или больше дорог. Используя дороги, перекрестки и другие элементы разметки пространства, вы создаете дорожные сети для моделей Библиотеки дорожного движения.

Отображаемые на перекрестке белые точечные линии — соединители полос — задают разрешенные направления движения транспорта на перекрестке.

Как создать перекресток

Сейчас мы продемонстрируем, как создать перекресток на примере пересечения улиц Wilhelmstrasse и Behrenstrasse, недалеко от Бранденбургских ворот.

Описанный ниже сценарий одинаковый для создания перекрестков любого типа. Шаги 1-3 демонстрируют создание Т-образного перекрестка, после чего мы продолжаем модифицировать перекресток, чтобы он в итоге получился четырехсторонним.

Как создать перекресток

  1. Сначала нарисуем улицу Wilhelmstrasse. Для создания прямой дороги нужно сделать двойной щелчок по элементу Дорога в палитре Библиотеки дорожного движения, затем добавить начальную точку дороги щелчком мыши, после чего двойным щелчком поместить конечную точку. Не важно, в каком направлении вы будете создавать эту дорогу, так как в нашем случае обе дороги двусторонние. Чтобы научиться создавать более сложные дороги, пройдите небольшое учебное пособие.

  2. Теперь нарисуем улицу Behrenstrasse, ведущую к перекрестку слева направо. Начните создавать дорогу, щелкнув по разделительной полосе Behrenstrasse в левой части рисунка. После этого необходимо поставить конечную точку этой дороги. При наведении курсора на определенные места Wilhelmstrasse, можно увидеть точки зеленого цвета, которые указывают на возможность соединения дорог. Чтобы правильно соединить дороги в Т-образный перекресток, щелкните по разделительной полосе улицы Wilhelmstrasse (см. рисунок ниже).

  3. Будет создан трехсторонний перекресток. У каждой дороги, присоединенной к перекрестку, на полосе движения по направлению к перекрестку появится стоп-линия. Это обычная стоп-линия AnyLogic, которую можно редактировать. На самом перекрестке появятся белые точечные линии, соединяющие полосы дорог, примыкающих к перекрестку. Эти линии называются соединителями полос. Они задают допустимые направления движения на перекрестке. В нашем случае нет необходимости редактировать созданные по умолчанию соединители полос.

  4. Теперь нарисуем улицу Behrenstrasse, ведущую к перекрестку справа налево. В этот раз конечную точку дороги необходимо поставить, когда увидите зеленую точку вблизи улицы Wilhelmstrasse, как показано на рисунке ниже.

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

Свойства

Основные свойства

Имя — Имя фигуры.

Исключить — Если опция выбрана, то фигура будет исключена из модели.

Отображается на верхнем агенте — Если опция выбрана, то фигура будет видна на презентации типа агента, в который будет вложен данный агент.

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

Видимость — Здесь вы можете указать, будет ли фигура видна на анимации во время выполнения модели или нет. Используя элемент управления, выберите да или нет.

Специфические

Отображать в — Здесь вы можете выбрать, будет ли фигура отображаться В 2D и в 3D, Только в 2D или Только в 3D (для просмотра трехмерной анимации нужно добавить 3D окно).

Отображать имя — Если опция выбрана, имя элемента будет отображаться на графической диаграмме.

Если движение на перекрестке усложнено (например, машины объезжают островки безопасности или ограждения, или движутся по нестандартным диаметрам), и вам нужно соответственным образом изменить траекторию движения машины на перекрестке, то вы можете изменить форму соединителя полос.

Соединители полос

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

По умолчанию AnyLogic добавляет типичные соединители полос для создаваемого перекрестка.

Соединители полос, добавляемые по умолчанию, для четырехстороннего и Т-образного перекрестков

При пересечении перекрестка автомобили четко следуют согласно заданным направлениям движения.

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

Как удалить существующий соединитель полос

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

  2. Щелкните по соединителю полос, чтобы выделить его.

  3. Нажмите на клавиатуре кнопку Delete. Соединитель полосы будет удален, и движение в этом направлении будет запрещено.

Как добавить дополнительный соединитель полос

Сейчас мы покажем, как разрешить движение на перекрестке с нижней дороги к правой дороге.

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

  2. Щелкните по прямоугольному маркеру той полосы, для которой необходимо разрешить дополнительное направление движения. Откроется режим редактирования соединителей полос, который содержит все добавленные (изображены сплошной белой линией) и удаленные (изображены серой пунктирной линией) соединители, ведущие от данной полосы.

  3. Щелкните по удаленному соединителю полос. Как только цвет изменится на белый, данное направление движения будет разрешено. Таким образом можно разрешать/запрещать направления движения транспорта из выбранной полосы.

  4. Щелкните в пустом месте графической диаграммы, чтобы выйти из режима редактирования соединителей полос. Теперь вы сможете увидеть внесенные изменения.

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

Как удалить все соединители полос

  1. Щелкните правой кнопкой по перекрестку и выберите из контекстного меню пункт Удалить соединители полос. Убедитесь, что вы не щелкнули по соединителю полос этого перекрестка, так как это вызовет контекстное меню с другими командами.

Восстановить соединители полос по умолчанию

  1. Щелкните правой кнопкой по перекрестку и выберите из контекстного меню пункт Восстановить соединители полос по умолчанию. Убедитесь, что вы не щелкнули по соединителю полос, так как это вызовет контекстное меню с другими командами.

Как изменить форму соединителя полос

  1. Щелкните по перекрестку, чтобы выделить его.
  2. Щелкните по соединителю полос, который необходимо отредактировать.

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

  5. Отпустите кнопку мыши, когда фигура соединителя приобретет необходимую форму. Автомобили, использующие это направление движения, будут следовать согласно его новой форме.
  6. Щелкните в пустом месте графической диаграммы, чтобы снять выделение с соединителя полос.

Как сделать соединитель полос прямым / дуговым

  1. Щелкните по перекрестку, чтобы выделить его.
  2. Щелкните правой кнопкой мыши по соединителю полос и выберите из контекстного меню Сделать сегмент прямым/дуговым.
  3. При наведении мыши на сегмент вы увидите форму, которую этот сегмент примет после преобразования. Щелкните мышью по сегменту, форму которого вы хотите изменить.
  4. При необходимости, эту операцию можно повторить для других сегментов. Когда закончите, щелкните в пустом месте диаграммы, чтобы выйти из режима редактирования.

Функции

Автомобили
Функция Описание
int nCars() Возвращает количество автомобилей, находящихся на перекрестке.
List<Agent> getCars() Возвращает неупорядоченный список автомобилей, находящихся на этом перекрестке.
Статистика соединителей полос
Функция Описание
int traffic() Возвращает количество машин, проехавших через этот соединитель за 1 час модельного времени. Для этого считается количество машин за последние 5 минут модельного времени и полученный результат умножается на 12.
int countCars() Возвращает общее количество машин, проехавших через этот соединитель полос с начала выполнения модели.
void resetStats() Сбрасывает счетчики для функций соединителя полос countCars() и traffic().
Статистика перекрестка
Функция Описание
int traffic(Road from, Road to) Возвращает количество машин, проехавших между двумя указанными полосами за 1 час модельного времени. Результат является суммой значений, полученных с помощью функции traffic() для каждого соединителя полос между указанными полосами.

from — полоса, прилегающая к перекрестку
to — полоса, прилегающая к перекрестку
int countCars(Road from, Road to) Возвращает количество машин, проехавших между двумя указанными полосами с начала выполнения модели. Результат является суммой значений, полученных с помощью функции countCars() для каждого соединителя полос между указанными полосами.

from — полоса, прилегающая к перекрестку
to — полоса, прилегающая к перекрестку
void resetStats() Сбрасывает счетчики для функций перекрестка countCars() и traffic().
Видимость
Функция Описание
void setVisible(boolean v) Задает видимость перекрестка.

v — видимость перекрестка. Если true — перекресток виден, если false — нет.
boolean isVisible() Проверяет, виден ли перекресток. Если true, перекресток виден, если false — нет.
void showLaneConnectors(boolean showLaneConnectors) Видимость разрешенных направлений движения на перекрестке, отображаемых с помощью соединителей полос.

Если значение showLaneConnectors — true, то соединители видны, если false — нет.
Уровень
Функция Описание
Level getLevel() Возвращает уровень, на котором расположен данный перекресток.
Специфические
Функция Описание
RoadNetwork getRoadNetwork() Возвращает дорожную сеть, к которой принадлежит указанный перекресток.
List<RoadLanesConnector> getLanesConnectors() Возвращает список соединителей полос внутри этого перекрестка.
Удаление
Функция Описание
void remove() Удаляет перекресток из презентации. Если перекресток не является частью презентации, функция не выполняет ничего. Обратите внимание, что удаление из презентации не обязательно подразумевает удаление из логики модели, поскольку логические сети и маршруты могли быть заданы еще до удаления элемента и не исчезают.
Как мы можем улучшить эту статью?