Kontinuierliche Kollisionserkennung zwischen zwei sich bewegenden Tetraedern

Meine Frage ist ziemlich einfach. Ich habe zwei Tetraeder mit jeweils einer aktuellen Position, einer linearen Geschwindigkeit im Raum, einer Winkelgeschwindigkeit und einem Massenschwerpunkt (Rotationsschwerpunkt).

Mit diesen Daten versuche ich, einen (schnellen) Algorithmus zu finden, der genau bestimmt, (1) ob sie zu einem bestimmten Zeitpunkt kollidieren und, falls dies der Fall ist, (2) nach wie viel Zeit sie kollidieren und (3) ) den Kollisionspunkt.

Die meisten Leute würden dies durch eine Dreieck-Dreieck-Kollisionserkennung lösen, aber dies würde einige CPU-Zyklen für redundante Vorgänge verschwenden, beispielsweise das Prüfen der gleichen Kante eines Tetraeders gegen die gleiche Kante des anderen Tetraeders beim Prüfen verschiedener Dreiecke. Das bedeutet nur, dass ich die Dinge ein bisschen optimieren werde. Nichts, über das man sich sorgen sollte.

Das Problem ist, dass mir kein öffentlicher CCD-Dreieck-Dreieck-Algorithmus (Continuous Collision Detection) bekannt ist, der die Selbstrotation berücksichtigt.

Daher brauche ich einen Algorithmus, der folgende Daten eingibt:

Eckpunktdaten für drei DreieckePosition und Drehpunkt / Masselineare Geschwindigkeit und Winkelgeschwindigkeit

Und würde folgendes ausgeben:

Ob es eine Kollision gibtNach wie viel Zeit ist die Kollision aufgetretenIn welchem ​​Raumpunkt ist die Kollision aufgetreten?

Vielen Dank im Voraus für Ihre Hilfe.

Antworten auf die Frage(7)

Ihre Antwort auf die Frage