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:
G

Gast2

Gast
getDistance liefert vllt falsche Werte?!

EDIT:
Wollst du einen "Wurf" simulieren, oder wozu brauchst du die gravi?
 

Developer_X

Top Contributor
Nein eigentlich einen Himmelskörper, der eine gerade Ríchtung hat, und dann von einer SOnne angezogen und somit aus seiner Bahn gelenkt wird.
 
G

Gast2

Gast
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...)
 
Ähnliche Java Themen

Ähnliche Java Themen


Oben