2016-05-08 10 views
-1

Es gibt einen Tunnel, in dem es verschiedene Arten von Hindernissen gibt (die Buchstaben T oder nur Partition und die andere). Außerdem fliegen einige Objekte durch diesen Tunnel. Die Welt selbst unterliegt der einfachsten Physik. Die Aufgabe, einen Algorithmus für die dezentrale Verwaltung dieser Objekte zu schreiben, um Hindernisse zu umgehen.Dezentrale Verwaltung mehrerer Objekte?

Example

Geeignet für ob dieser Boids Algorithmus, oder gibt es etwas anderes? Die Theorie wäre auch willkommen.

+0

ich bin unklar, was Sie mit "dezentralisiert" hier meinen. – nhouser9

+0

Es besteht aus einer Vielzahl von Agenten, lokal und mit der Umgebung interagieren. Die Agenten selbst sind einfach, aber alle zusammen, lokal interagieren und schaffen die sogenannte It genannt RI (in der Natur - eine Kolonie von Ameisen, Schwarm von Bienen, ein Vogelschwarm, Fisch, etc.). – doublench

Antwort

0

Ein Boids-Algorithmus sollte funktionieren. Ich habe mit einem Tunnel nichts gemacht, aber ich hatte Hindernisse, um Hindernisse zu vermeiden und Ziele zu suchen. Here ist ein Link ein Repo mit einer Implementierung von Boids in Python. Der Kern des Hindernisvermeidungsabschnitts besteht darin, dass wenn ein Hindernis innerhalb einer bestimmten Entfernung vorhanden ist, der Benutzer einen Vektor zu diesem Objekt berechnet (x wäre object.x - boid.x und dasselbe für y), multipliziere den Vektor mit -1, dividiere Dieser Vektor wird durch einen Koeffizienten (der Wert hängt von Ihren anderen Koeffizienten ab) und dann fügen Sie diesen Vektor zu Ihrem Gesamtbewegungsvektor der Boid hinzu.

Ich hoffe, das hat geholfen!

Verwandte Themen