Ich habe 2 starre Körper (b1, b2), wenn ich einen miteinander verbunden habe (als ob sie miteinander verbunden wären), wie man den b1-Effekt auf b2 und den b2-Effekt auf b1 darstellt
Gibt es ein GESETZ, das die Position/Orientierung des anderen Körpers beeinflusst?
Anmerkungen :
Die gesuchten Gesetze sind Impulserhaltung und Drehimpulserhaltung. Wenn man die beiden Körper zusammenklebt, müssen trotzdem beide Gesetze erfüllt sein (inelastische Effekte vernachlässigt). Am Ende haben Sie ein zusammengesetztes einzelnes Objekt. Mit dem Parallelachsensatz ( Wikipedia ) kannst du das Massenträgheitsmoment und zusammen mit dem Massenschwerpunkt die gesamte Bewegung deines zusammengesetzten Körpers berechnen. Sie müssen die Kollisionslogik nicht vollständig ändern, sondern eine Kugel/Box erstellen, die Ihr gesamtes Objekt enthält, und diese zum Testen auf Kollisionen verwenden.
Eine Alternative, um die beiden starren Körper zu verbinden, sind Federn, wie dmckee betonte, und dieser Ansatz ist in vielen Physik-Engines (Brückenbauspiele, World of Goo) recht erfolgreich. Auch Flüssigkeiten lassen sich mit wenigen, über Federn verbundenen harten Tropfen modellieren.
Mit der Open-Source-Physik-Engine ODE können Sie zwei Körper mit einer Reihe verschiedener Gelenke verbinden. Eines dieser Gelenke ist das „feste“ Gelenk . In der Physik-Engine ist es viel stabiler, die beiden Körper als einen einzigen Körper darzustellen, aber zwei separate Geometrien für Kollisionszwecke beizubehalten. ODE handhabt die Kollisionserkennung/-auflösung jedoch wahrscheinlich anders, als Sie es sich vorgestellt haben. Es erkennt eine Kollision erst nach einem Frame der gegenseitigen Durchdringung und beschränkt dann die Relativgeschwindigkeit der kollidierenden Körper so, dass sie beim nächsten Zeitschritt auseinander gezwungen werden. Diese Art von Einschränkung ist für einen einzelnen starren Körper viel einfacher zu erfüllen als für zwei, aber vielleicht verhindern Sie tatsächlich das Eindringen und benötigen daher eine andere Technik.
Das feste Gelenk zwingt die beiden Körper einfach dazu, eine relative Winkelgeschwindigkeit von Null und eine relative Lineargeschwindigkeit von Null zu haben (und hat auch einen Fehlerkorrekturterm, um eine kleine numerische Drift zu eliminieren). Danach erledigt der LCP-Solver den Rest.
Wenn Den Vektor, der den Massenmittelpunkt von b1 mit dem Massenmittelpunkt von b2 verbindet , müssen Sie dann haben
Im wirklichen Leben (tm) gibt es keine starren Körper (tm), und in erster Ordnung (dh unter geringer Spannung {*}) wirken alle Festkörper als Federn. Die gesuchte Regel ist das Hookesche Gesetz:
Bleibt natürlich noch die Frage nach der Wahl der richtigen Federkonstanten (und der Tatsache, dass nicht alles ewig klingelt) sowie der richtigen Dämpfung.
Es ist mit ziemlicher Sicherheit besser, herauszufinden, wie zusammengesetzte Körper und einzelne Einheiten zu behandeln sind, als zu versuchen, bei jedem Schritt eine Finite-Elemente-Analyse (sogar drastisch vereinfacht) durchzuführen.
{*} Beachten Sie, dass Materialien wie Ton, die sich leicht verformen, nur bei äußerst geringen Drücken einer geringen Belastung ausgesetzt sind, sodass diese Regel praktisch nicht auf sie zutrifft, selbst wenn sie im Bereich der niedrigen Belastungsgrenze wohl gut ist.
yoBS
MhdSyrwan