Ich verstehe Dreieck zu Dreieck Kollisionserkennung betwhewen 2 Dreiecke. Kann mir jemand erklären, wie ich das mit einem 3D-Objekt verwenden könnte, das aus Tausenden von Eckpunkten besteht? Wie kann ich eine Liste von Dreiecken für jedes Mesh erstellen? Muss ich jede Vertex-Permutation nehmen? Das würde zu O (n^3) führen, was ich sehr schlecht finde.Dreieck zu Dreieck Kollisionserkennung in 3D
Wie kann ich das verallgemeinern?
Ich muss Daten aus einem Format lesen. Wenn alles andere fehlschlägt, kann jemand ein Format vorschlagen, das das Mesh aus Dreiecken macht? Ich würde auch einen Katalog von Meshes für das Format benötigen, zumindest für Anfänger.
Vielen Dank.
Es gibt eine Menge Fragen, die in diese integriert werden sollten, und sie sollten alle separat gefragt werden, anstatt auf eine Frage zu konzentrieren. Normalerweise ist ein "3D-Objekt", mit dem Sie arbeiten würden, nicht nur eine [Punktwolke] (http://en.wikipedia.org/wiki/Point_cloud), es ist normalerweise ein [Polygonnetz] (http: //de.wikipedia.org/wiki/Polygon_mesh) und/oder eine Reihe von 3D-Kurven. Wenn Sie wirklich mit einer Punktwolke beginnen, sollten Sie nach Algorithmen suchen, die Polygonnetze aus Punktwolken erstellen, bevor Sie weiter an der Netz-> Netzüberlappungserkennung arbeiten. –
Sobald Sie ein Polygonnetz haben, sollten Sie die Optimierungen anwenden, über die Gareth/James sprechen, um zu vermeiden, dass jedes Dreieck in einem Netz mit jedem Dreieck im anderen Netz verglichen wird. Es würde niemals um jedes * mögliche * Dreieck gehen, das von allen Ecken jedes Gitters erzeugt werden könnte, wie Ihre Frage zu implizieren scheint. Aber jedes Dreieck in einem Netz -> jedes Dreieck im anderen Netz ist immer noch langsam, und deshalb optimierst du weiter :) –