Gravitation Simmulieren

Developer_X

Top Contributor
HI. Ich wollte euch mal fragen, wie ich 2Dimensionale Gravitation simmulieren kann.
Java:
		x -= 5* getDistanceX(new Point(x,y),gravity) / getDistance(new Point(x,y),gravity);
		y -= 5* getDistanceY(new Point(x,y),gravity) / getDistance(new Point(x,y),gravity);
Ich habe einen Punkt, mit den Coordinaten x und y. Und einen Gravitationspunkt namens gravity.
Ich habe 3 Methoden geschrieben, die die Distanz zwischen den Punkten messen:
  • getDistance(), um die Distance zu bekommen.
  • getDistanceX(), um nur die Distanz der beiden X Coordinaten der Beiden Punkte zu bekommen
  • getDistanceY(), um nur die Distanz bei beiden Y Coordinaten der Beiden Punkte zu bekommen

Warum geht das so nicht?

(ICh habe die Zahlen mal 5 genommen, da die zahlen im null komma bereich befanden.
 
Zuletzt bearbeitet:
getDistance liefert vllt falsche Werte?!

EDIT:
Wollst du einen "Wurf" simulieren, oder wozu brauchst du die gravi?
 
Nein eigentlich einen Himmelskörper, der eine gerade Ríchtung hat, und dann von einer SOnne angezogen und somit aus seiner Bahn gelenkt wird.
 
Ok, ich würd da irgendwie so rangehen:

Zuerst bestimmst du mit dem Gravitationsgesetz die Kraft (F1) zwischen deinen beiden Körpern.
Als zweites wird dein Himmelskörper wohl auch beschleunigt sein (mit Kraft F2). Nun bildest du aus diesen beiden Kräften ein Kräfteparallelogramm und bestimmst die resultierende Kraft (F).
Damit hast du also Kraft und Richtung in die dein Himmelskörper gezogen wird und kannst, je nach zeiteinheit, deine Darstellung laufend updaten. Nach jedem Schritt musst du natürlich F1 neu bestimmen.

(Hoffe da sind keine groben schnitzer drin, is doch schon etwas länger her...)
 

Zurück
Oben