Е.И. Большакова - Задания практикума по объектно-ориентированному программированию (1162571), страница 3
Текст из файла (страница 3)
Автомобили появляются на одном конце дороги и проезжают по ней додругого конца, стараясь по возможности сохранить начальную (заданную при ихпоявлении) скорость. Автомобили могут иметь разную начальную скорость:начальная скорость – случайная величина, изменяющаяся в заданном диапазоне(например, от 50 до 100 км/час). Интервалы между появлениями автомобилей надороге также являются случайными величинами из определенного интервала(например, от 1 до 5 секунд).Считается, что минимальное допустимое сближение двух автомобилейсоставляет одну длину (корпус) автомобиля, в ином случае происходит авария.Когда автомобиль приближается к идущей впереди машине на утроенноедопустимое расстояние, он начинает притормаживать по определенному закону,пока его скорость не сравняется со скоростью передней машины.Пусть в таком потоке машин организована искусственнаякратковременная задержка одного автомобиля: автомобиль сначала резкозамедляется, сбрасывая за некоторое время скорость, а затем после некоторойпаузы вновь набирает первоначальную скорость.
В результате, если следующийавтомобиль не успел притормозить, возникает авария. Может возникнуть и такназываемая пробка – область с высокой плотностью автомобилей, включающаячередование притормаживаний и ускорений до прежней скорости.Действительно, если какой-то автомобиль начинает резко замедляться, идущийза ним автомобиль тоже через некоторое время тормозит. После торможенияследует замедленное движение автомобиля, но как только дорога перед нимосвобождается, автомобиль ускоряется до первоначальной скорости.Пробка обычно возникает, если плотность потока автомобилей достаточновелика, и существует некоторое время, медленно двигаясь навстречу потокуавтомобилей и постепенно рассеиваясь.Заметим, что в аварию может попасть не тот автомобиль, что былискусственно задержан, а идущие за ним машины.
В случае аварии должнопройти некоторое фиксированное время, прежде чем движение на этом участкевновь станет возможным, и после вынужденной остановки машины вновьнабирают первоначальную скорость.Необходимо разработать систему моделирования движения машин наавтостраде, позволяющую наблюдать за возникновением и скоростьюрассасывания возникающей пробки в зависимости от нескольких факторовпараметров.
В число параметров моделирования следует включить: диапазонскоростей автомобилей, возможный интервал между их появлениями на дороге(от этого параметра зависит плотность потока), величину уменьшения скорости10искусственно притормаживаемой машины и время ее движения с меньшейскоростью.При визуализации движения автомобилей по дороге следует учесть, чтоизображения самих автомобилей необходимо сделать крупнее, чем этоопределяется масштабом, иначе эти изображения будут слишком мелкими.Полезно использовать разные цвета для изображения различных состоянийавтомобиля (ускорение, торможение, движение с постоянной скоростью,авария).
Интерфейс с программой моделирования движения долженобеспечивать один из способов указания автомобиля, который необходимопритормозить: например, нужный автомобиль отмечается мышью, или жезадается отметка на дороге – тогда тормозится машина, пересекающая первойэту отметку.Возможны усложнения задания, включающие:• движение автомобилей в несколько рядов (полос);• наличие на дороге одного или нескольких светофоров.В первом случае потребуется определить правила перехода автомобилей содного ряда на другой, во втором – задать законы работы светофоров (от нихзависит скорость рассасывания возникающих заторов).
Допускается вместопрямого участка дороги организовать автомобильный круг, поскольку при этомможно дольше наблюдать за рассасыванием пробок.Моделирование движения на перекрестке дорогНа перекрестке двух автомобильных дорог расположены регулирующиедвижение светофоры. Каждая из дорог содержит несколько полос (рядов),автомобили двигаются в обоих направлениях. Светофоры обеспечивают проездавтомобилей по обеим дорогам, включая левый и правый поворотыавтомобилей, а также переход через эти дороги пешеходов.Программа моделирования и визуализации движения на такомперекрестке служит для исследования характера возникающих на перекресткеавтомобильных дорог заторов и их рассасывания в зависимости от плотностейпотоков автомобилей и режимов работы светофоров.Автомобили должны появляться на концах каждой из дорог случайнымобразом, проезжать по ним со скоростью, заданной при их появлении,притормаживая и останавливаясь при необходимости на перекрестке, и исчезаяпосле проезда всей дороги на ее противоположном конце.
У каждого автомобиляможет быть своя начальная скорость, она определятся как случайная величинаиз некоторого диапазона (например, от 30 до 120 км/час). Случайной величинойявляется также интервал между появлениями автомобилей на каждой дороге – отдиапазона изменения этой величины (и закона ее распределения) зависитплотность потока автомобилей. Как случайную величину, определяемую вмомент появления автомобиля на дороге, следует моделировать и направлениеего проезда через перекресток (прямо / налево / направо).Автомобили должны перестраиваться из одного ряда в другой ипересекать перекресток в соответствии с правилами дорожного движения.
Вчастности, в левый ряд перед светофором становятся автомобили, которымнеобходим поворот налево. Кроме правил смены полосы, в программе должны11быть зафиксированы законы торможения и ускорения автомобилей наперекрестке, которые в общем случае зависят от допустимого сближения междуавтомобилями, величин их скорости и др. Возможность аварий (например, из-занарушений правил дорожного движения) в модели можно не учитывать.Цель проводимого моделирования – изучение различных режимов работысветофоров для поиска режима их оптимальной работы. Следует рассмотретьдва типа режимов работы: статический, когда интервалы свечения каждого цвета(желтый, зеленый, красный) зафиксированы заранее, и динамический, прикотором интервалы свечения изменяются в соответствии с количествомавтомобилей (и пешеходов), ожидающих проезда (прохода) через дорогу.В изменяемые параметры моделирования движения следует включить:тип режима работы светофора, интервалы свечения каждого цвета (длястатического режима), дистанцию видимости светофора, диапазон возможныхскоростей автомобилей, интервалы случайного появления автомобилей накаждой из дорог.Визуальная картина движения на перекрестке дорог должна содержатьизображения дорог, светофоров, движущихся машин.
Полезно отобразить темили иным образом (например, разными цветами) возможные направлениядвижения автомобиля через перекресток (прямо/налево/направо). Желательнотакже предусмотреть вывод некоторых подсчитанных в ходе моделированиявеличин, к примеру, среднее время остановки автомобилей на перекрестке.Модель движения на круговой автомобильной развязкеРассматривается круговая дорога, соединяющая несколько (от трех допяти) прямых автомобильных дорог и служащая для поворота автомобилей cодной прямой дороги на другую.
Круговая дорога содержит две полосы (ряда),по которым автомобили двигаются в одном направлении (против часовойстрелки); а по входящим в круг дорогам допускается обычное двунаправленноедвижение, причем каждому направлению соответствует своя полоса дороги.Требуется разработать компьютерную модель автомобильного движенияна круговой развязке. Цель моделирования – исследование характеравозникающих на ней заторов в зависимости от плотностей потоков автомобилейи их скоростей на каждой из входящих в развязку дорог.Автомобили должны появляться на концах каждой из прямых дорогслучайным образом, для этого интервал между последовательным появлениемна дороге двух машин определяется как случайная величина. Для каждогонового автомобиля задается его начальная скорость, которая также являетсяслучайной величиной из некоторого диапазона (например, от 30 до 120 км/час).Случайным образом определяется и дорога, на которую нужно свернутьавтомобилю при проезде через круговую развязку.Автомобили стараются по возможности сохранить свою начальнуюскорость, но при необходимости они притормаживают и/или останавливаютсяперед другими автомобилями.