Ich versuche, eine Starrkörper-Simulator zu schreiben, und während der Simulation bin ich nicht nur interessiert zu finden, ob zwei Objekte kollidieren oder nicht, sondern auch den Punkt als auch normal von Kollision. Ich habe viele Ressourcen gefunden, die tatsächlich sagen, ob zwei OBB kollidieren oder den Trennachsensatz nicht verwenden. Auch ich interessiere mich für die 3D-Darstellung von OBB. Nun, wenn ich die Achse mit minimalem Überlappungsbereich für zwei kollidierende OBB kenne, gibt es eine Möglichkeit, den Kollisionspunkt und den Normalfall der Kollision zu finden? Außerdem gibt es zwei Hauptfälle der Kollision, nämlich die erste und die zweite Kantenkante. Ich habe versucht, dieses Problem zu googlen, aber fast jede Lösung erkennt nur Kollision mit wahr oder falsch.Schnittpunkt zwischen Oriented Boxes (oder OBB)
Bitte jemand Hilfe!
Normalerweise werden OBB-Tests als * konservativer * Test verwendet, um Objekte, die * nicht kollidieren können, schnell auszuschließen. (Manchmal als "breite Phase" bezeichnet). Wenn sich die OBBs kreuzen und die Objekte * kollidieren können, beginnt die "enge Phase". Dort prüfen Sie jeden Scheitelpunkt/Kante eines Objekts auf Kollisionen mit jeder Fläche/Kante des anderen Objekts. (Dies ist teuer - daher werden OBBs und Begrenzungsvolumenhierarchien verwendet!). Die "Kollisionserkennung" besteht dann darin, die nächsten Punkte für die V/F- und E/E-Paare zu berechnen. Wenn der Abstand dieser Punkte nahe Null ist, kollidieren die Objekte an diesen Punkten. – Marco13
Der genaue Kollisionspunkt hängt in der Tat von der genauen Flugbahn ab. Können wir eine gerade Linie annehmen? Und ist die Linie mit einer der Boxen ausgerichtet? –