Добавление спутникового снимка 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Добавление спутникового снимка



Мы будем использовать следующий спутниковый снимок:

Сохраните спутниковый снимок себе на компьютер

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

Теперь мы можем добавить этот снимок на графическую диаграмму модели.

Добавьте спутниковый снимок на графическую диаграмму модели

1. Сначала откройте палитру Презентация в панели Палитра. Она содержит фигуры, которые можно добавит в модель. Чтобы открыть какую-либо палитру, нужно щелкнуть мышью по соответствующей иконке на вертикальной панели слева от палитры. Пока вы привыкаете к иконкам палитры, можете навести указатель мыши на панель и подождать, пока появится всплывающее окно, в котором вы увидите названия палитр.

2. Выберите палитру Презентация, чтобы открыть ее:

3. Перетащите элемент Изображение  из палитры Презентация на графическую диаграмму Main.

4. Теперь нам необходимо выбрать изображение, которое мы будем использовать. Диалог для выбора файла появится автоматически. Откройте папку, в которую вы только что сохранили файл изображения, выберите его и нажмите Открыть. В графическом редакторе изображение будет выглядеть следующим образом:

Создание дороги

Сейчас мы нарисуем дорогу (Tapiolavagen), разместив ее строго поверх той, что на снимке. Дорожные сети в AnyLogic задаются следующим образом: вы рисуете дороги, перекрестки и при необходимости добавляете другие элементы разметки пространства (автобусную остановку, стоп-линию и парковку).

Создайте дорогу

1. Прежде чем нарисовать дорогу, следует отключить сетку в графическом редакторе. Щелкните по кнопке панели инструментов Включить/Отключить сетку . Она должна принять вид не нажатой кнопки: .

2. В панели Палитра выберите палитру   Библиотека дорожного движения:

3. Сделайте двойной щелчок по элементу Дорога  в секции Разметка пространства палитры Библиотека дорожного движения. Иконка элемента изменится на . Это означает, что активирован режим рисования, и теперь вы можете рисовать дорогу в графическом редакторе.

4. Щелкните мышью в графическом редакторе, чтобы поставить первую точку дороги.

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

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

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

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

9. Настройте атрибуты дороги в панели Свойства. По умолчанию дороги создаются с двусторонним движением, при этом каждое направление дороги (основное и встречное) содержит по две полосы движения. Наша дорога (Tapiolavagen) содержит одну полосу основного движения и одну полосу встречного движения, поэтому необходимо задать значение параметров Кол-во полос основного движения и Кол-во полос основного движения равным единице. Количество полос автоматически уменьшится до двух.

Давайте сделаем дорогу полупрозрачной, чтобы можно было убедиться, что она точно накладывается на дорогу на карте. Настройки прозрачности (как и настройки направления движения, ширины полосы) находятся не в свойствах дороги, а в свойствах дорожной сети, которой принадлежит эта дорога.

10. Выделите дорожную сеть, сделав два последовательных щелчка по дороге (первый щелчок выделит саму дорогу, а уже второй - дорожную сеть). После этого откройте секцию свойств дорожной сети Внешний вид. Щелкните по элементу управления Цвет дороги, выберите Другие цвета... из списка и задайте для свойства Прозрачность значение 150, к примеру.

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

12. В этом примере линейка масштаба соответствует 35 метрам.

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

Создание диаграммы процесса

Теперь мы зададим процесс движения транспорта, создав диаграмму из блоков Библиотеки дорожного движения.

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

Диаграмма процесса в AnyLogic создается путем добавления объектов библиотеки из палитры на графическую диаграмму, соединения их портов и изменения значений свойств блоков в соответствии с требованиями вашей модели.

Создайте диаграмму процесса

1. Откройте палитру   Библиотека дорожного движения и добавьте блоки из этой палитры на диаграмму, соединив их, как показано на рисунке ниже. Чтобы добавить объект на диаграмму, перетащите требуемый элемент из палитры в графический редактор:

2. Когда блоки располагаются рядом друг с другом, между ними появляются соединительные линии. Будьте внимательны, эти линии должны соединять только порты, находящиеся с правой или левой стороны блоков.

Скажем пару слов об этих блоках.

 CarSource создает автомобили. Обычно используется как начальная точка автомобильной диаграммы процесса.

 CarMoveTo моделирует движение автомобиля к цели движения.

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

За детальным описанием объектов Библиотеки дорожного движения, пожалуйста, обращайтесь к Справочному руководству по Библиотеке дорожного движения.

 Настройте блоки диаграммы

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

2. Выделите блок сarSource. В панели Свойства укажите, как часто должны прибывать автомобили. В раскрывающемся списке Дорога выберите road, это дорога, которую мы только что создали. Таким образом мы указываем блоку сarSource дорогу, на которую стоит поместить создаваемые автомобили.

3. Внесите изменения в свойства блока carMoveTo. Оставьте заданную по умолчанию опцию Цель движения: дорога и выберите имя нашей дороги road в раскрывающемся списке Дорога. Этот блок будет моделировать движение автомобилей по указанной дороге до конца полосы основного движения (задается параметром Доехать до конца полосы).

4. В блоке carDispose оставьте настройки по умолчанию.

Запуск модели

Мы готовы запустить созданную модель. Сначала постройте вашу модель с помощью кнопки панели инструментов Построить модель . Построение не будет завершено, если в модели присутствуют ошибки, информация о которых будет выведена в панель Ошибки. Чтобы перейти к месту ошибки и исправить ее, совершите двойной щелчок мышью по ошибке в этом списке.

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

Запустите модель

1. Щелкните мышью по кнопке панели инструментов Запустить  и выберите из открывшегося списка эксперимент, который вы хотите запустить. Эксперимент этой модели будет называться Road Traffic Tutorial/Simulation.

На момент запуска этого конкретного эксперимента наша модель - единственная открытая модель в рабочем пространстве. В дальнейшем будет запускаться тот эксперимент, который запускался вами в последний раз. Чтобы выбрать какой-то другой эксперимент, вам будет нужно щелкнуть правой кнопкой мыши по этому эксперименту в панели Проекты и выбрать Запустить из контекстного меню.

После запуска модели вы увидите окно презентации этой модели. В нем будет отображена презентация запущенного эксперимента.

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

При необходимости, измените скорость выполнения модели, используя кнопки панели инструментов Замедлить и Ускорить.

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

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

Задание 2. Создание 3D анимации

В этом примере мы создадим 3D анимацию для нашей модели.

Сначала необходимо добавить на графическую диаграмму 3D окно. 3D окно используется для задания на диаграмме агента области, в которой во время запуска модели будет отображаться трехмерная анимация этой модели.

Добавьте 3D окно

1. Перетащите элемент 3D Окно из секции 3D палитры Презентация в графический редактор.

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

Теперь вы можете запустить модель и наблюдать простую 3D анимацию.

Запустите модель и опробуйте навигацию по сцене трехмерной анимации

1. Запустите модель.

2. Щелкните кнопку панели инструментов Показать область... и выберите [window3D].

3. Вы увидите 3D анимацию. По умолчанию автомобили в 3D анимации отображаются разноцветными параллелепипедами.

4. Попробуйте перемещаться по трехмерной сцене с помощью описанных ниже команд навигации:

Чтобы Выполните следующие действия
Переместить сцену 1. Нажмите левую кнопку мыши в области 3D окна и держите ее нажатой. 2. Передвиньте мышь в направлении перемещения.
Повернуть сцену 1. Нажмите клавишу Alt и держите ее нажатой. 2. Нажмите левую кнопку мыши в области 3D окна и держите ее нажатой. 3. Передвиньте мышь в направлении вращения.
Приблизить/отдалить сцену 1. Покрутите колесо мыши от/на себя в области 3D окна.

Теперь мы зададим автомобилям определенную фигуру анимации вместо используемого по умолчанию параллелепипеда. Это потребует создания нового типа автомобиля.

Создайте новый тип агента

1. Откройте палитру Библиотека дорожного движения.

2. Перетащите элемент Тип автомобиля в графический редактор.

3. Откроется диалоговое окно Мастера создания агентов на шаге Создание нового типа агента. Оставьте заданное по умолчанию имя нового типа Car в поле Имя нового типа. Нажмите Далее.

4. Вы увидите следующую страницу Мастера создания типа агента, на которой предлагается выбрать фигуру анимации для этого агента. Поскольку мы хотим выбрать 3D фигуру, оставьте опцию 3D выбранной. В списке ниже, выберите фигуру анимации Автомобиль.

5. Щелкните по кнопке Готово. Автоматически откроется диаграмма нового агента Car. В начале координат этой диаграммы вы увидите выбранную нами 3D фигуру автомобиля. Переключитесь обратно на диаграмму Main.

Настройте диаграмму процесса, чтобы использовать новый тип автомобиля

1. На диаграмме Main, выделите блок сarSource в графическом редакторе.

2. Раскройте секцию Автомобиль в панели Свойства и выберите Car из раскрывающегося списка Новый автомобиль.

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

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

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

 Измените цвет дорожного покрытия нарисованной дорожной сети

1. Выделите дорожную сеть, сделав два последовательных щелчка по дороге (первый щелчок выделит саму дорогу, а уже второй - дорожную сеть).

2. Откройте секцию свойств дорожной сети Внешний вид. Щелкните по элементу управления Цвет дороги и выберите Текстуры... из раскрывшегося списка.

3. В открывшемся диалоговом окне Текстуры выберите текстуру асфальта (см. рисунок ниже).

В графическом редакторе нарисованная дорога станет отличаться по цвету от дороги на спутниковом снимке:

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

 Измените Z-уровень рисунка

1. В графическом редакторе, щелкните по спутниковому снимку моделируемой местности.

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

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

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

Задание 3. Моделирование перекрестка

Сейчас машины движутся в модели по дороге Tapiolavagen, причем только в одном направлении, с юга на север.

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

 Нарисуйте перекресток

Перекрестки в AnyLogic создаются автоматически при соединении дорог. Нарисуйте улицу Menninkaisentie, примыкающую к Tapiolavagen с востока.

1. Как и раньше, начните рисование дороги с двойного щелчка по элементу   Дорога в палитре Библиотека дорожного движения.

2. Добавьте начальную точку дороги, щелкнув по разделительной полосе Menninkaisentie в правой части рисунка.

3. Добавьте конечную точку дороги. Чтобы правильно соединить дороги в Т-образный перекресток, сделайте двойной щелчок мыши, когда увидите зеленую точку на разделительной полосе улицы Tapiolavagen, как показано на рисунке ниже.

4. Будет создан трехсторонний перекресток.

5. У нарисованной нами дороги по две полосы в каждом направлении, у реальной же улицы Menninkaisentie одна полоса основного движения и одна полоса встречного движения, поэтому нам нужно изменить настройки этой дороги. Откройте свойства только что нарисованной дороги, щелкнув по ней мышью, и сделайте Кол-во полос основного движения и Кол-во полос основного движения этой дороги равным 1.

6. Чтобы в дальнейшем нам было легче ссылаться на эту дорогу в параметрах блоков диаграммы процесса, измените Имя этой дороги на roadEast.

7. После внесенных изменений дорожная сеть должна будет выглядеть следующим образом:

Если вы сейчас запустите модель, то увидите, что теперь машины едут не до конца улицы Tapiolavagen, а лишь доезжают до перекрестка и исчезают. Это вызвано тем, что при присоединении новой дороги к уже существующей дороге создается новый элемент разметки пространства AnyLogic - перекресток, который делит существующую дорогу на две отдельные дороги.

В нашей диаграмме процесса блок carSource создает машины в начале дороги road, после чего блок carMoveTo моделирует движение машины до конца той же самой дороги, которая теперь заканчивается у перекрестка (после перекрестка следует уже другая дорога, названная road2).

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

 Переименуйте дороги

1. Поочередно выделите дороги и измените их имена в свойствах. Пусть дороги теперь называются roadNorth, roadSouth, roadEast (см. рисунок ниже).

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

Измените параметры блоков диаграммы процесса

1. Выделите блок carSource. Измените его Имя на carSourceS (чтобы подчеркнуть, что этот блок генерирует машины, появляющиеся с юга).

2. В поле Дорога этого блока вы увидите старое название дороги. Чтобы заменить его на новое, лучше переключиться из режима задания динамического значения в статический режим выбора элемента, щелкнув по кнопке  слева от поля Дорога. Затем выберите имя дороги roadSouth из раскрывающегося списка (см.рисунок ниже).

3. Аналогичным образом измените свойства блока carMoveTo. Назовите его carMoveToN (он будет моделировать движение машин до конца уходящей на север дороги) и выберите в поле Дорога roadNorth.

Если вы сейчас запустите модель, то увидите, что машины снова движутся по дороге Tapiolavagen с юга на север.

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

 Добавьте новые блоки в диаграмму процесса

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

2. Теперь давайте добавим блоки, моделирующие движение по той же дороге, но с севера на юг (по полосе встречного движения улицы Tapiolavagen). Добавьте еще один блок   CarSource и блок   CarMoveTo. Соедините их, как показано на рисунке ниже:

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

Измените параметры добавленных блоков диаграммы процесса

1. Переименуйте блок carSource в carSourceN (этот блок генерирует машины, появляющиеся с севера).

2. В поле Дорога, выберите дорогу, на которой будут появляться создаваемые этим блоком автомобили: roadNorth.

3. Поскольку нам нужно, чтобы автомобили появлялись в начале полосы встречного движения этой дороги (у ее северного конца), выберите в параметре Помещается на полосу: встречного движения.

4. Разверните секцию свойств Автомобиль и выберите в свойстве Новый автомобиль Car. Теперь блок carSourceN будет генерировать машины созданного нами типа Car, и они будут отображаться в трехмерной анимации не параллелепипедами, а выбранными нами ранее фигурками зеленых автомобилей.

5. Аналогичным образом измените свойства блока carMoveTo. Назовите его carMoveToS (он будет моделировать движение машин на юг), выберите в поле Дорога roadSouth, а также выберите опцию Доехать до конца полосы: встречного движения.

Если вы запустите модель, то увидите, что теперь машины движутся по Tapiolavagen в обоих направлениях.

Теперь давайте промоделируем движение машин, едущих по Menninkaisentie с востока. На перекрестке часть этих машин (примерно половина) будет следовать на юг, а оставшаяся часть - на север.

 Добавьте новые блоки в диаграмму процесса

1. Добавьте еще один блок   CarSource (он будет генерировать машины у начала дороги Menninkaisentie).

2. Назовите этот блок carSourceE, а в поле Дорога выберите roadEast. Разверните секцию свойств Автомобиль и выберите в свойстве Новый автомобиль Car.

3. Теперь нам нужно добавить блок, который будет направлять часть машин по дороге Tapiolavagen на север, а часть – на юг. Для этого нам понадобится блок   SelectOutput Библиотеки моделирования процессов. Переключитесь на палитру Библиотека моделирования процессов и перетащите блок   SelectOutput на диаграмму так, чтобы он соединился с только что созданным блоком carSourceE.

4. Назовите этот блок selectNS.

5. Два выходных порта блока SelectOutput соедините с входными портами блоков carMoveToN и carMoveToS. Диаграмма процесса должна в итоге выглядеть следующим образом:

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

Чаще всего диаграммы процесса моделей дорожного движения составляются из блоков Библиотеки дорожного движения   CarSource,   CarMoveTo и   CarDispose, а также блоков Библиотеки моделирования процессов  SelectOutput или   SelectOutput5 (для маршрутизации машин по разным направлениям) и   Delay (для моделирования пребывания машин на парковках и автобусов на остановках, мы рассмотрим эти случаи в данном учебном пособии позже).

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

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

 Измените диаграмму процесса

1. Добавьте еще один блок Библиотеки моделирования процессов  SelectOutput. Поместите его между блоками carSourceS и carMoveToN (так, чтобы он автоматически соединился с обоими этими блоками, см. рисунок ниже). Этот блок нужен нам, чтобы распределить поток автомобилей с юга между восточным и северным направлениями. Назовите этот блок selectNE.

2. Откройте свойства этого блока. Настройте маршрутизацию автомобилей. Предположим, что большинство автомобилей, едущих по главной дороге (примерно 70%) будут продолжать ехать прямо по ней. В этом случае нам нужно изменить долю автомобилей, которые будут перенаправляться в первый выходной порт этого блока SelectOutput. В свойстве блока Вероятность введите 0.7. Теперь в среднем 70 процентов агентов будут направляться в верхний порт, а 30 - в нижний (мы соединим нижний порт с соответствующим блоком позже).

3. Добавьте еще один блок  SelectOutput. Назовите этот блок selectSE. Поместите его между блоками carSourceN и carMoveToS (см. рисунок ниже). Этот блок нужен для выбора пути автомобилей, едущих с севера. Аналогично измените долю автомобилей, едущих на перекрестке прямо, на 70 процентов, введя в поле Вероятность 0.7

4. Теперь добавьте еще один блок Библиотеки дорожного движения   CarMoveTo. Назовите его carMoveToE (он будет моделировать движение машин по Menninkaisentie на восток). Соедините входной порт с нижними портами двух (!) блоков, selectNE и selectSE. Выходной же порт соедините с блоком carDispose, как показано на рисунке ниже.

5. Откройте свойства этого блока. Выберите в поле Дорога roadEast, а также выберите опцию Доехать до конца полосы: встречного движения.

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

Задание 4. Добавление парковки

В этой фазе мы добавим парковку на обочине Menninkaisentie (парковка хорошо видна на спутниковом снимке).

Но вначале давайте немного улучшим нашу текущую модель. Как вы могли заметить, въезды на главную дорогу с Menninkaisentie не совсем точно соответствуют реальным дорогам на местности. Давайте изменим перекресток в модели, чтобы добиться более точного соответствия.

 Измените внешний вид перекрестка

1. Чтобы вам было легче редактировать графические элементы перекрестка, увеличьте масштаб графической диаграммы (воспользуйтесь для этого кнопкой панели инструментов Приблизить ).

2. Чтобы увеличить форму и длину въездов на перекрестке, нужно увеличить площадь самого перекрестка. Это можно сделать, отдалив конечные точки примыкающих к перекрестку дорог. Для этого выделите в графическом редакторе дорогу roadEast. Вы увидите, что конечная точка дороги у перекрестка выделена зеленым цветом. Аккуратно перетащите примыкающую к перекрестку точку в сторону от перекрестка. При этом отпустить кнопку мыши нужно только в том случае, если точка все еще подсвчечиваеся зеленым цветом - это означает наличие соединения с перекрестком. Если же точка станет белой, то это значит, что вы перетащили конец дороги слишком далеко от перекрестка. В таком случае отмените последнее действие, нажав на кнопку панели инструментов   Отменить, и затем повторите действие.

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

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

Запустите модель. Теперь движение машин в нашей модели будет абсолютно таким же, как и на моделируемом нами перекрестке.

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

 Нарисуйте парковку

1. Перетащите элемент Парковка  из секции Разметка пространства палитры Библиотека дорожного движения на графическую диаграмму. Перетаскивая парковку по диаграмме, вы увидите, что все фигуры, кроме дорог, будут временно скрыты.

2. Поместите курсор у дороги в том месте улицы Menninkaisentie, где на спутниковом снимке видны припаркованные машины. Парковка прикрепится к дороге. Если нужно переместить парковку, то это можно сделать, перетащив ее с помощью мыши.

3. Перейдите в панель Свойства, и измените Тип парковки с параллельной на перпендикулярную. В итоге парковка должна выглядеть следующим образом:

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

5. Если нужно, то длину парковочного места можно задать, изменив значение свойства Длина парковочного места. Ширина же определяется свойством Ширина полосы дорожной сети (которое влияет на все элементы этой сети: дороги, перекрестки, и т.д.).

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

 Измените диаграмму процесса

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

2. Для того чтобы произвести это деление потока машин, добавьте еще один блок Библиотеки моделирования процессов  SelectOutput. Назовите этот блок selectParking и соедините его порты с портами других блоков, как это показано на рисунке ниже.

3. Мы хотим направлять на парковку только небольшую часть потока машин (скажем, 10 процентов), поэтому введите в поле Вероятность: 0.1. Таким образом, мы задаем долю автомобилей, направляемую блоком в свой верхний выходной порт.

4. Добавьте еще один блок   CarMoveTo (в ветвь процесса, ведущую из верхнего порта блока selectParking, см. рисунок ниже). Назовите его carMoveToParking. Этот блок будет моделировать движение автомобилей к парковке.



Поделиться:


Последнее изменение этой страницы: 2021-05-12; просмотров: 179; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.227.24.209 (0.235 с.)