Python: имитация трафика (автомобили на дороге)

StackOverflow https://stackoverflow.com/questions/2720378

  •  01-10-2019
  •  | 
  •  

Вопрос

Я хочу создать тренировочный симулятор, как здесь:http://www.doobybrain.com/wp-content/uploads/2008/03/Traffic-simulation.gif.Но я не очень глубоко об этом.

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

И я мог бы создать дорогу с массивом.

Но как сказать машине, куда пойти? Могу ли я слышать ваши идеи?

Редактировать: запрещено ли получить новые идеи от хороших программистов? Почему некоторые люди хотят закрыть эту тему? Или должны были задать такие вопросы? Я их не понимаю. :(

Редактировать2: В следующий раз я пойду на Gamer-Forum. Мне нравятся идеи до сих пор. Спасибо!

Это было полезно?

Решение

Существует пакет на основе Java обработка Это целенаправлено на художников и не- или новичков, которые включают в себя некоторые очень приятные функции визуализации, при представляющей упрощенную среду разработки (нет »общедоступной статической пустоты (строку [] args)», например, Посмотрите на демо, которые показывают системы частиц, чтобы получить представление о том, как моделировать ваши отдельные автомобили. Есть Python Adference данного вызова кода пироцессинг Это следует большее из того же простого программирования идиомы.

Вот мой маленький Апплет "Тесла" - переместить мышь между двумя сферическими электродами.

Другие советы

Вы не говорите машине, куда пойти. Это все равно в любом случае из-за его скорости. Посмотрев вперед (где это будет несколько временных точек, и есть ли еще дорога?) Вы можете увидеть, нужно ли вам настроить скорость.

И дорога не массив; Это матрица или растровое изображение. Вы не можете пойти все это быстро в углу или вылетете с дороги.

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

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

РЕДАКТИРОВАТЬ

Для ясности, когда я говорю о скорости, я говорю о векторе, который имеет оба величина (10mph) и направление. Ваши векторы будут иметь 2 элемента, Икс а также у, если вы также не хотите самолеты, или хотите моделировать холмы и такие (вы не хотите, потому что вам также придется принять гравитацию :) Где Z. Положение и скорость используются.

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

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

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

Я рекомендую вам использовать свой собственный проект для этого. Это называется Гарницим, Это платформа для приготовления симуляции, и она будет отлично подходит для такого моделирования, который вы имеете в виду. (Кстати, только вчера Я сделал большой релиз, версию 0,4).

Это все Python, и это даст вам хороший графический интерфейс тоже.

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

Теория за симулятором - теория очереди. Я нашел страницу по курсу на моем Alma Mater, которая покажет вам несколько ключевых слов, которые могут помочь вам - https://www.erasmus.cvut.cz/prospectus/fts/11tho-e.html.. Отказ Сам симулятор будет «проще».

Первый вопрос: что такое область моделирования?

Вы можете сделать это так же просто, как одномерные сотовые автоматы в дискретное время или как комплекс как полноценная физическая система (вы можете моделировать даже химические реакции в двигателе!) С сложной AI и повышенной фотореалистичной графикой и звуковыми эффектами Отказ

Между ними есть много возможностей. Подумайте о том, что вы можете сделать, и что вы хотите узнать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top