# computergesteuertes Ausweichmanöver



## Marti (25. Feb 2010)

Hallo,

Ich habe mir überlegt, wie ich ein simples computergesteuertes Ausweichmanöver erstellen kann und wollte mal wissen, ob der Ansatz in Ordnung ist.

Ein Raumschiff auf einer 2D-Abbildung des Weltalls, soll einer SpielerRakete ausweichen können. Ich habe mich jetzt einfach mal an der Lebenswirklichkeit orientiert und dem Raumschiff einen Radarschirm gegeben, der im Programm einer vergrößerten BS entspricht. Tritt die Rakete in die BS ein, wird berechnet ob es im weiteren Verlauf zu einer Kollision kommen kann (der Bewegungsvektor der Rakete ist konstant). Kann es zu einer Kollision kommen, setzt das Raumschiff zu einer Flucht an, wobei der Fluchtvektor die Senkrechte zu dem Bewegungsvektor der Rakete wäre (kürzester Fluchtweg). Natürlich kann man die Fluchtvektor noch leicht zufällig beeinflussen, damit es nicht ganz so berechnet aussieht, bzw. die Fluchtbewegung als solche nicht ganz so geradlinig erscheinen lassen.

Hier noch eine kleine grafische Abbildung:


----------



## SlaterB (25. Feb 2010)

ne Java-Frage ist das nicht, oder? 
hat das Raumschiff nicht eine Bewegung oder zumindest eine aktuelle Ausrichtung der Haupttriebwerke?
eine Drehung dauert gewiss viel zu lange, 

und denk an die Titanic: im Zweifel besser volle Kanne mitten drauf statt an der Seite getroffen zu werden 
Experten erinnern sich jetzt auch an Jagd auf Roter Oktober


----------



## Marti (25. Feb 2010)

Ja, stimmt ist keine wirkliche Java-Frage. 
Raumschiff klingt ein bißchen irreführend. Das Ding hat von der Bewegungsdynamik eher was von einem Ufo, d.h. die Bewegungrichtung kann ohne große Ent - und Beschleunigung geändert werden. Drehungen bedarf es dazu auch nicht. Aber darüber muss ich nochmal nachdenken.
Klar kenn ich Roter Oktober. Klingt gut, aber ich wollte es sachte angehen. Grundsätzlich ist es aber eine gute Idee, schadensintensivere Seiten (bzw. Abschnitte) und schadensärmere Seiten zu haben.


----------



## Marco13 (25. Feb 2010)

Ist wohl verschoben worden? Mit Java hat das zu tun, wenn man es in Java implementieren will 

Erstmal klingt das plausibel. Natürlich muss noch einbezogen werden, auf welche Seite der gedachten Line der Raketenrichtung das Schiff ausweichen soll. 

Aber eigentlich ist das ja langweilig :bae: Überleg' dir doch die Lösung für 2,3 oder n Rakteten, das ist spannender, und die 1-Raketen-Lösung kriegt man umsonst mit dazu


----------



## Marti (26. Feb 2010)

Wenn eine weitere Rakete auf dem Radar erscheint, müßte lediglich berechnet werden, ob die Fluchtbewegung zu einer Kollision mit der 2ten Rakete führen könnte. Falls ja, müßte eine Fluchtbewegung berechnet werden, die beiden Raketen ausweichen kann (bzw. eine die erst der einen, dann der anderen ausweicht). Naja, mal schauen.


----------



## Marco13 (26. Feb 2010)

Es ging darum dass das Ausweichmanöver für die erste Rakete ja gerade erst dazu führen kann, dass man der zweiten ausweichen muss - und um solche Fragen wie wohin X hier ausweicht

```
|
      |
      v
      
--->  X  <---

      ^
      |
      |
```


----------



## Marti (27. Feb 2010)

Ja, ist klar. Aber es läuft ja so, dass immer nur eine Rakete zuerst auf dem radar erscheint, selbst wenn der Eintritt von 2 oder 4 im gleichen Durchgang erfolgt. Macht aber letzlich auch kein Unterschied.
BTW: Die Implementierung soll natürlich in Java erfolgen.

Gruß Marti


----------

