Berechnung zufälliger Flugbahnen (Punkt A nach B)

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Agent
Beiträge: 296
Registriert: 13.09.2004 11:28
Kontaktdaten:

Berechnung zufälliger Flugbahnen (Punkt A nach B)

Beitrag von Agent »

Hallo liebe Entwickler.

Wieder wende ich mich mit einem mathematischen Problem an euch.

Ich möchte eine Flugbahn berechnen von Punkt A nach Punkt B in verschiedenen Varianten.

Bekannt ist lediglich Punkt A (x,y), Punkt B (x,y), Winkel.
Die bisherige Flugbahn ist lediglich gerade von A nach B.

Was ich gerne hätte wäre

a) Bogenförmig von A nach B
b) Wellenförmig entlang der Geraden
c) zufällige Flugbahn (Wellenform) zum Zielpunkt. (die Grafik ist nur ein Beispel, das einfachste Ergebnis könnte hier genügen, es soll nur "zufällig" wirken und am Ende am Ziel B ankommen)

Hier mal eine Verdeutlichung:

http://s7.directupload.net/file/d/3059/ffd999g8_jpg.htm
Agent_Sasori
It's not a bug - it's a feature!
http://www.StephenKalisch.de | http://www.ria-tec.com | http://www.dirsync.de
Benutzeravatar
man-in-black
Beiträge: 362
Registriert: 21.08.2006 17:39

Re: Berechnung zufälliger Flugbahnen (Punkt A nach B)

Beitrag von man-in-black »

moin,

so viel Mathe steckt da auch nicht hinter. Rein von der Idee, kannst du doch die Stecke zwischen
A und B auf die x-achse legen (wie in deinen bilder), indem du den Betrag zwischen den Punkten ermittelst.
Über eine Funktion ermittelst du dann die Abweichungen von der bahn (Kreisgleichung, sinus,...).
Zum Schluss drehst du das dann mit dem Winkel wieder auf deine alte Richtung und addierst A(x,y) drauf

Vorschlag für den Bogen:

Leg den Mittelpunkt (M) eines Kreises in die Mitte zwischen A und B und wählst den Radius AB/2.
Wenn du die Kurve abgeflachter haben willst, brauchst du den Mittelpunkt nur senkrecht zu AB verschieben und den Radius
auf AM/2 einstellen. (Betrag = (x²+y²)^(1/2) ; Kreisgleichung: y=(radius²-x²)^(1/2) )


Vorschlag für die Welle:

Nimm eine Sinusfunktion (sinnvoll, da sin(0)=0) und pass die Periodendauer an: y=sin(n*x*T)
n-anzahl windungen
T=2pi/betrag(AB)

Idee für die zufällige Bahn:

Überlager einfach ein paar Funktionen mit schön hohen Exponenten, die zusammen bei 0 und AB eine Nullstelle haben^^



Gibt nat. noch viele andere Lösungsansätze, aber ich denke mal, diese ist relativ einfach zu verstehen...

MFG
MIB
(hab alles, kann alles, weiß alles!!^^)

Bild
Benutzeravatar
gnasen
Beiträge: 578
Registriert: 01.08.2007 14:28
Computerausstattung: PB 4.60

Re: Berechnung zufälliger Flugbahnen (Punkt A nach B)

Beitrag von gnasen »

Eine weitere Moeglichkeit waere eine Stoerfunktion zu nutzen. Du legst grundsaetzlich die direkte Strecke von A nach B zurueck (linear) und laesst eine Stoerfunktion wie zB Sinus wirken. Diese muss allerdings je nach zurueckgelegter Strecke gewichtet werden, damit du auch die Punkte A und B triffst (dh an A und B ist die gewichtung 0 und in der Mitte zB 1).
Es gibt wie schon gesagt wurde viele Moeglichkeiten so ein Problem anzugehen, am einfachsten waere es aber sicher, wenn du ein Anwendungsbsp gibst. Dann kann man etwas moeglichst passendes vorschlagen.
pb 4.51
Agent
Beiträge: 296
Registriert: 13.09.2004 11:28
Kontaktdaten:

Re: Berechnung zufälliger Flugbahnen (Punkt A nach B)

Beitrag von Agent »

Hallo.

Erstmal vielen Dank ich werde damit mal experimentieren. Mal sehen ob ich damit weiter komme! :D
Agent_Sasori
It's not a bug - it's a feature!
http://www.StephenKalisch.de | http://www.ria-tec.com | http://www.dirsync.de
Antworten