Frage

Ich mag wie hier einen Verkehrssimulator schaffen: http://www.doobybrain.com/wp- content / uploads / 2008/03 / verkehr simulation.gif Aber ich habe nicht thougt sehr tief darüber.

würde ich die Klasse Auto schaffen. Jedes Auto hat seine eigene Farbe, Position und so weiter.

Und ich konnte die Straße mit einem Array erstellen.

Aber wie das Auto sagen, wohin sie gehen? Kann ich Ihre Ideen hören?

EDIT: Ist es verboten, neue Ideen von guten Programmierern zu bekommen? Warum wollen manche Menschen diesen Thread schließen? Oder waren solche Fragen zu stellen? Ich nicht, sie verstehen. : (

EDIT2: Das nächste Mal werde ich ein Spieler-Forum gehen. Ich mag die Ideen bis jetzt. Dank!

War es hilfreich?

Lösung

Es ist ein Java-basiertes Paket namens Verarbeitung , die bei Künstlern und nicht- oder Anfänger-Programmierer abgezielt wird, das umfasst einige sehr schöne Visualisierungsfunktionen, während eine vereinfachte Entwicklungsumgebung (kein "public static void main (String [] args)", zum Beispiel) zu präsentieren. Schauen Sie sich die Demos, die zeigen, Partikelsysteme eine Vorstellung zu bekommen, wie Sie Ihre individuellen Autos zu modellieren. Es ist eine Python-Wiedergabe dieses Coderuf pyprocessing die Programmierung Idiom viel von der gleichen einfachen folgt .

Hier ist meine kleine „tesla“ Applet - bewegen Sie die Maus zwischen den beiden sphärischen Elektroden.

Andere Tipps

Sie sagen, kein Auto, wohin sie gehen. Es geht sowieso aufgrund seiner Geschwindigkeit. Mit dem Blick auf die Zukunft (wo es ein paar Zeitschritte von jetzt sein, und ist es immer noch eine Straße?) Können Sie sehen, ob Sie die Geschwindigkeit anpassen müssen.

Und eine Straße ist kein Array; es ist eine Matrix oder Bitmap. Sie können nicht alle gehen, die schnell in der Ecke oder Sie von der Straße fliegen werden.

Es ist immer eine gute Idee, um klar die Ziele und Umfang ersten zu formulieren. In diesem Fall würden Sie denken über das Ausmaß der Modellierung sein (die Physik beteiligt ist) und die Komplexität der Autobewegungen (Kollisionen, biegen Straßen folgen, und so weiter).

ich, dass, wenn Sie Ihr Konzept eindeutig in einfachem Englisch (oder Niederländisch in meinem Fall) angeben können, die das Schreiben von Code wird viel einfacher, fast trivial manchmal.

Bearbeiten

Aus Gründen der Klarheit, wenn ich über Geschwindigkeit rede ich spreche über einen Vektor, der sowohl Größe (10 mph) und Richtung hat. Ihre Vektoren würden zwei Elemente, x und y , wenn Sie auch Flugzeuge wollen, oder wollen Modell Hügel und so (Sie wollen nicht, Hügel, weil du würdest auch die Schwerkraft berücksichtigen müssen :) wo eine z Position und Geschwindigkeit verwendet werden.

Jeder Wagen hat eine Position, Geschwindigkeit, Richtung / Bahn / Ziel. Auf der Grundlage dieser Informationen und relative Position der anderen Autos und (eventuell) das Vorhandensein von „Verkehrszeichen“ können Sie die nächste Position jeden Wagen berechnen und wenn das Auto zu verlangsamen oder zu beschleunigen sein.

Wenn Sie ein neues Auto auf die Simulation hinzuzufügen, gerade eingestellt seine Ausgangsposition, Geschwindigkeit und Ziel.

Sie müssen auch die Kollisionserkennung berücksichtigen, die nicht unbedingt Kollisionen zwischen Autos selbst, aber Sie werden eine Möglichkeit zu sagen, die Agenten müssen (die AI), wenn es angemessen zu bremsen, wenn sie in der Nähe von anderen Fahrzeugen. Sie können dies tun, mit Kugeln um jedes Auto begrenzen.

Ich ermutige Sie, mein eigenes Projekt für diesen Einsatz. Es heißt GarlicSim , es ist eine Plattform-Simulationen für die Herstellung, und es wird für die Art der Simulation Sie im Sinn haben große Arbeit. (Übrigens gerade gestern ich eine große Release gemacht, Version 0,4).

Es ist alles Python, und es wird Ihnen auch eine schöne GUI geben.

Wenn Sie es ernst sein werden, könnte ich Ihnen helfen, Ihren SIMPACK schreiben. Wenn Sie es tun wollen, eine E-Mail auf der Mailingliste.

Die Theorie hinter dem Simulator ist Queing Theorie. Ich fand eine Seite auf einem Kurs auf meine Alma Mater, die Sie einige Stichworte zeigen, dass Ihnen helfen können - https://www.erasmus.cvut.cz/prospectus/FTS/11THO-E.html . Simulator selbst wird "leichter".

Erste Frage: Was ist der Umfang der Simulation

Sie können es tun, so viel so einfach wie ein eindimensionalen zelluläre Automaten in diskreter Zeit oder so komplex wie ein vollwertiges physikalisches System (man kann sogar die chemischen Reaktionen in der Motor-Modell!) Mit einem hoch entwickelten KI und erweitern fotorealistische Grafiken und Sound-Effekte.

Dazwischen gibt es viele Möglichkeiten. Überlegen Sie, was Sie tun können und was Sie wollen lernen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top