Ich erstelle eine sehr einfache Physik-Engine, die auf Impuls basiert, und ich löse, welche Reaktion für eine Kollision aus dem Referenzrahmen jedes beteiligten Objekts verwendet werden soll. Allerdings stimmt etwas an der Interpretation des Bezugsrahmens nicht ganz ...
Betrachten Sie das folgende Beispiel mit einem 1-g-Objekt, das sich mit 10 m/s auf ein 10-g-Objekt zubewegt. Keine Reibung oder Drehung oder irgendetwas Kompliziertes.
Dieses 1-g-Objekt trifft schließlich auf das 10-g-Objekt. Jetzt würde meine Engine dann jedes Objekt von seinem Referenzrahmen aus betrachten (also im Grunde seine Geschwindigkeit) und die externen Impulse darauf summieren (falls es mehrere Kollisionen gibt) und dies verwenden, um seine eigene Geschwindigkeit zu ändern. In diesem Beispiel sind nur 2 Objekte beteiligt, um es einfach zu halten.
Aus dem Bezugsrahmen des 10-g-unbeweglichen Objekts trifft das 1-g-Objekt also im Grunde mit demselben Geschwindigkeitsvektor (also 10 g / s Impuls). Aus dem Bezugssystem des 1g-Objekts bewegt sich das 10g-Objekt mit 10 m/s auf es zu und trifft es von rechts mit ... 100 g/s?? Das macht keinen Sinn!
Ich vermassele hier irgendwie wirklich den Bezugsrahmen ... Ich muss den Bezugsrahmen jedes Objekts verwenden, aber ich bin mir ziemlich sicher, dass der Impuls, den ich in einige von ihnen bekomme, einfach falsch ist.
Dieses 1-g-Objekt würde dann, wenn es auf diesen Impuls von 100 g / s gleich reagieren würde, mit 90 m / s (10 m / s - (100 g / s / 1 g)) rückwärts geschleudert werden! Ich würde dann berechnen, wie sich das 10-g-Objekt basierend auf dem Impuls bewegt, den es sieht, was dazu führt, dass es sich mit 1 m / s vorwärts bewegt. Wo mache ich hier einen Fehler?
Sie machen nichts falsch, die Objekte haben in verschiedenen Referenzrahmen unterschiedliche Impulse. Was in jedem Bezugssystem gleich sein sollte, sind die Kräfte, die bei der Kollision auf die Objekte einwirken. Die Gesetze der Physik sind in jedem Bezugsrahmen gleich, aber nicht unbedingt die Zahlen, die in die Gleichungen eingehen.
Betrachten wir als Beispiel den Stoß als vollkommen unelastisch.
Bezugsrahmen 1, Anfangsimpuls ist
Anfängliche kinetische Energie ist
Durch die Erhaltung muss der Impuls nach dem Stoß noch vorhanden sein und wir haben die Kollision als vollkommen unelastisch definiert, damit wir es wissen .
Endgültige kinetische Energie ist
Wiederholen Sie die Übung in Referenzrahmen 2 und wir haben:
Anfangsdynamik ist
Anfängliche kinetische Energie ist
Geschwindigkeit für die verbundene Masse nach dem Stoß ist
und kinetische Energie nach der Kollision ist
Also Geschwindigkeitsänderung für Objekt 1:
Im Bezugsrahmen 1:
Im Bezugsrahmen 2:
Und für Objekt 2:
Im Bezugsrahmen 1:
Im Bezugsrahmen 2:
Änderung der kinetischen Energie des Systems:
Im Bezugsrahmen 1:
Im Bezugsrahmen 2:
Puh, ich habe immer das Gefühl, dass ich einen Zaubertrick gemacht habe, nachdem ich die Referenzrahmen ausgetauscht habe (ist das Ihre Karte?). Hoffentlich wird dadurch deutlich, dass die Kollision trotz der unterschiedlichen Impulse und Energien der Objekte in den Referenzrahmen immer noch dieselbe ist.
Das heißt, für eine Physiksimulation ist das Springen von Referenzrahmen zu Referenzrahmen wahrscheinlich nur Arbeit für sich selbst. Ich persönlich würde einfach bei einem absoluten bleiben Bezugsrahmen und fertig damit.
Hoffentlich hilft das!
Der Vorteil der Arbeit in einer Simulation besteht darin, dass es einen absoluten Referenzrahmen gibt, der dort sein kann, wo Sie ihn angeben.
Das Problem ist, dass Ihr Referenzrahmen, wenn Sie ihn in ein beschleunigtes Objekt einfügen, kein Trägheitsrahmen ist; Die Abweichungen sind auf Trägheitskräfte zurückzuführen, die Sie nicht berücksichtigen. Warum beobachten Sie die Dinge nicht stattdessen einfach von einem festen, absoluten, trägen Referenzrahmen aus?
Martin Ender