Wenn Sie in Cattos Notizen nachlesen, dass Sie den Link zu der Stelle gepostet haben, an der er über die Verwendung eines iterativen Lösers spricht, der auf Impulsen basiert, ist dies in der Praxis wahrscheinlich nicht viel anders als das, was Sie möglicherweise tun, wie Sie sagen: "Einfach anwenden." Impulse zur Lösung von Kollisionen ". Obwohl der Jacobian wie eine komplizierte mathematische Idee klingt, ist es in Wirklichkeit nur eine Reihe von Vektoren, mit denen Sie 1) messen können, ob die Bedingung erfüllt ist, und 2) Ihnen die effizientesten Anweisungen zum Anwenden von Impulsen geben, um die Bedingung zu erfüllen . Wenn Sie bereits Impulse anwenden, um eine Einschränkung zu erfüllen, tun Sie wahrscheinlich etwas Ähnliches oder sogar Äquivalentes, ohne sich dessen bewusst zu sein.
Wenn es um dreidimensionale starre Körper und mehrdimensionale Einschränkungen wie Scharniere geht, bietet die jakobische Mathematik einen Rahmen, um die Einschränkung der linearen und Winkelgeschwindigkeiten auszudrücken und sowohl lineare als auch Winkelimpulse abzuleiten, um die Einschränkungen zu lösen. Es bietet auch eine Möglichkeit, alle Einschränkungen zusammen zu werfen (z. B. für eine Sammlung von Körpern mit vielen Einschränkungen) und sie gleichzeitig zu lösen. In der Praxis und insbesondere in Spielen tendieren wir jedoch dazu, iterative Löser zu verwenden, die mehr oder weniger eine ausgefallene Methode sind, um hier und dort einen kleinen Impuls zu geben, und so weiter, bis alles genau richtig ist.
Wenn Sie sagen, dass Sie "einfache Impulse anwenden, um Kollisionen aufzulösen", bedeutet dies möglicherweise, dass Sie die Position einschränken, aber nicht die Geschwindigkeiten einschränken? Ein solcher Ansatz kann in einigen Kontexten funktionieren, impliziert jedoch, dass Sie nur dann Impulse anwenden, wenn die Objekte eindringen? Wie wäre es, wenn ein Objekt unter dem Einfluss der Schwerkraft auf einer Oberfläche ruht? Ein Beschränkungslöser, der mit einer Geschwindigkeits- oder Beschleunigungsbeschränkung arbeitet, zeigt Ihnen die geeigneten und korrekten Kräfte an den Kontaktpunkten an, die es Ihnen ermöglichen, die richtige Reibung und dergleichen auszuführen, wohingegen eine Beschränkung nur auf Positionsebene zu Schwingungskräften führt, die schwingen und viel stärker sind instabil bei Änderungen der Bildrate. Z.B, Wenn Sie eine Positionsbeschränkung haben, bei der der Impuls proportional zur Penetrationsmenge ist, wird das Gleichgewicht nur an einer bestimmten Stelle erreicht, an der sich die Schwerkraft und der Beschränkungsimpuls gegenseitig aufheben. Das mag ein weiterer kritischer Unterschied zwischen Ihrem Ansatz und einem auf Einschränkungen basierenden Ansatz sein, aber es ist schwer zu sagen, ohne Ihren Algorithmus und Ihre Problemdomäne zu kennen (2D-Partikel in einer Meteorsimulation im Weltraum? 3D-Simulation eines menschlichen Körpers in einer Autounfallsimulation ?)