Ich versuche ein genaues Orbitalsystem mit box2d zu erstellen, grundsätzlich; Ich möchte in der Lage sein, eine Kugel auf die Erde zu schießen, und abhängig davon, wie schnell diese Kugel fliegt, wird sie von der Erde entkommen, in der Umlaufbahn um die Erde bleiben oder auf der Erdoberfläche z. B. 240 Grad oder 45 Grad landen. (vorausgesetzt, die Kugel feuert bei 0 Grad) Ich habe viel Forschung und tauchte bereits in die Physikgesetze von Newton etc. ein. Grundlegende applyforce scheint die Arbeit nicht genau genug zu machen. Ich fand auch die Formel, die die benötigte Geschwindigkeit für ein Objekt berechnet, um im Orbit zu bleiben, und ich schaffte es, dies innerhalb von box2d geschehen zu lassen. Wenn ich jedoch die Kugel stoppen will, wird die Kugel nicht wieder auf die Erde fallen. (Anwenden der Kraft wird für die radiale Schwerkraft verwendet und die zweite Anlegekraft wird verwendet, um die Kugel nach "rechts" zu bewegen.) Sie bleibt in der Umlaufbahn. Nur wenn ich Dämpfung hinzufüge, wird die Kugel auf die Erde fallen, aber das scheint mir falsch. Wenn das Geschoss mit etwas anderem kollidiert, wird es auch feucht.Irgendwelche Ideen, wie man mit box2d eine genaue Orbitalgravitation erzeugt?
Ich dachte, dass das Hauptproblem hier ist, die Geschwindigkeit für das Geschoss zu modifizieren. Die Kugel braucht eine x Zeit, um auf uns zu landen, sagen wir: 180 Grad. Je weiter die Kugel von der Erdoberfläche entfernt ist, desto mehr Geschwindigkeit benötigt sie, um die gleiche Zeit auf 180 Grad zu landen. Ich denke, dass Geschwindigkeit der Schlüssel ist, um wahre genaue radiale Schwerkraft zu machen, aber meine Frage ist; Ist das wahr, was denkst du, hat jemand ein ähnliches Szenario? Wie kontrolliert man die Geschwindigkeit am besten, ohne Dämpfung und eingestellte Lineargeschwindigkeit zu verwenden?
Ich möchte auch in der Lage sein, die Geschwindigkeit zu steuern, die benötigt wird, um die Kugel umkreisen, entkommen oder landen auf der Erde zurück. Dies sollte möglich sein, da es auch eine Formel gibt, die die Bahngeschwindigkeit berechnet. Zum Beispiel Wenn es schief geht, bewegt sich die Kugel zu schnell, wird von der Erde entkommen, wird sich aber zurückbewegen, weil die Schwerkraft der Erde den Weg der Kugel verändert.
Btw: Ich habe viel im Internet gesucht, aber kann nicht wirklich diese Sachen mit praktischen box2d Code verknüpfen, so hoffe ich, jemand kann mir die richtige Richtung zeigen. Mit freundlichen Grüßen!
"Nur wenn ich Dämpfung hinzufüge, wird die Kugel auf die Erde fallen, aber das scheint mir falsch." An realen Satelliten scheint es nur wenig Widerstand zu geben, das scheint mir richtig zu sein. http://www.aero.org/capabilities/cords/faq1.html sorry kann mir nicht weiter helfen :) – iforce2d
Hm ... das ist interessant, obwohl ich keinen Luftwiderstand im Weltraum habe ... aber das macht Sinn natürlich gibt es ... das erklärt auch das Gravitationsgesetz ... (Objekte bewegen sich für immer in einer geraden Linie ohne Kräfte usw.) ... in gues kommt es dazu, die Dämpfung gegen die Geschwindigkeit zu optimieren ... Bis du es richtig machst. Gibt es eine Formel, die die erforderliche Dämpfung berechnen kann, um die Geschwindigkeit zu reduzieren? Sagen wir, ich möchte die Geschwindigkeit von 10 auf 5 in 2 Sekunden verringern, was sollte das Dämpfungsverhältnis sein? Thnx für den Verweis auf diesen Link ... !! :-) – stationX
Das wäre eine Beschleunigung von -2,5m/s/s, f = ma also könntest du für 2 Sekunden ApplyForce von Masse * 2,5. Dämpfung verringert die Geschwindigkeit des Körpers um einen Prozentpunkt bei jedem Zeitschritt, so dass es schwerer ist, sie zu berechnen. – iforce2d