Hallo,
ich habe für eine Uniarbeit ein Applet geschrieben, das in groben Zügen folgendes können soll:
1.Editor:
> Zeichnen eines Gartens (Grundfläche, Polygone)
> Einfügen von Objekten (Ladestation, Bäume,...)
> Speichern/Laden von Gärten (Applet-Servlet-Komm.)
(> Editieren von Gärten)
Unter: "www.sammel-leidenschaft.at" kann man eine 1. Version des Programms betrachten.
Leider gibt es noch keinen passenden Hilfetext. Durch Klicken auf "Speichern" kann man gezeichnete Objekte speichern. Wenn der Garten (bzw. die Gartengrundfläche) eingezeichnet und gespeichert ist, kann man weitere Objekte einfügen.
2.Simulator:
> Simulation des Mähverhaltens eines Rasenroboters in dem vorher gezeichneten (bzw. geladenen und editierten) Garten
> Kontrollfunktionen (Starten, Stoppen, Pause, Geschwindigkeit einstellen)
Mein Problem liegt nun bei der Simulation. Ich bekomme die leider nicht gscheiht hin. Immer wenn ich denke ich hab's, kommt wieder ein neues Problem hinzu. Die Ausnahmenbehandlung wird mittlerweile immer unübersichtlicher.
Grundsätzlich sollte der Mäher bei Kollision mit einem Ausfallwinkel abprallen, der gleich dem Einfallswinkel ist.
Ich beginne mit einem Startwinkel und der Mähvektor hat eine festgelegte Länge. Der 1. Startpunkt ergibt sich aus der Position der Ladestation, später ist der Schnittpunkt der Startpunkt. Die Überprüfung auf Schneiden von 2 Linien (Intersection) ist kein Problem, die Berechnung des Schnittpunktes auch nicht.
Ein Hauptproblem ist, dass ich im Vorhinein nicht weiss wie groß die Gartenfläche ist und wo meine Maximalwerte liegen. Ich könnte ja sonst sagen: if(p.x >= xmax){ vorzeichen *= -*1; p.x = x.max + vorzeichen * step;}
Ich hoffe ich konnte das Problem einigermaßen beschreiben und ihr könnt mir helfen.
ich habe für eine Uniarbeit ein Applet geschrieben, das in groben Zügen folgendes können soll:
1.Editor:
> Zeichnen eines Gartens (Grundfläche, Polygone)
> Einfügen von Objekten (Ladestation, Bäume,...)
> Speichern/Laden von Gärten (Applet-Servlet-Komm.)
(> Editieren von Gärten)
Unter: "www.sammel-leidenschaft.at" kann man eine 1. Version des Programms betrachten.
Leider gibt es noch keinen passenden Hilfetext. Durch Klicken auf "Speichern" kann man gezeichnete Objekte speichern. Wenn der Garten (bzw. die Gartengrundfläche) eingezeichnet und gespeichert ist, kann man weitere Objekte einfügen.
2.Simulator:
> Simulation des Mähverhaltens eines Rasenroboters in dem vorher gezeichneten (bzw. geladenen und editierten) Garten
> Kontrollfunktionen (Starten, Stoppen, Pause, Geschwindigkeit einstellen)
Mein Problem liegt nun bei der Simulation. Ich bekomme die leider nicht gscheiht hin. Immer wenn ich denke ich hab's, kommt wieder ein neues Problem hinzu. Die Ausnahmenbehandlung wird mittlerweile immer unübersichtlicher.
Grundsätzlich sollte der Mäher bei Kollision mit einem Ausfallwinkel abprallen, der gleich dem Einfallswinkel ist.
Ich beginne mit einem Startwinkel und der Mähvektor hat eine festgelegte Länge. Der 1. Startpunkt ergibt sich aus der Position der Ladestation, später ist der Schnittpunkt der Startpunkt. Die Überprüfung auf Schneiden von 2 Linien (Intersection) ist kein Problem, die Berechnung des Schnittpunktes auch nicht.
Ein Hauptproblem ist, dass ich im Vorhinein nicht weiss wie groß die Gartenfläche ist und wo meine Maximalwerte liegen. Ich könnte ja sonst sagen: if(p.x >= xmax){ vorzeichen *= -*1; p.x = x.max + vorzeichen * step;}
Ich hoffe ich konnte das Problem einigermaßen beschreiben und ihr könnt mir helfen.