Я понимаю треугольное обнаружение столкновения треугольника между двумя треугольниками. Может кто-нибудь объяснить, как я могу использовать это с 3D-объектом, состоящим из 1000s вершин? Как создать список треугольников для каждой сетки? Должен ли я взять каждую перестановку вершин? Это привело бы к O (n^3), который я считаю очень плохим.Обнаружение столкновения треугольника и треугольника в 3D
Как это можно обобщить?
Мне потребуется прочитать данные из формата. Если все остальное не удается, может ли кто-нибудь предложить формат, который делает сетку из треугольников? Мне также нужен каталог Meshes для формата, по крайней мере, для начинающих.
Большое спасибо.
В это есть много вопросов, и их следует спросить отдельно, вместо того, чтобы сосредоточиться на одном вопросе. Обычно «трехмерный объект», с которым вы бы работали, не просто [облако точек] (http://en.wikipedia.org/wiki/Point_cloud), обычно это [полигональная сетка] (http: //en.wikipedia.org/wiki/Polygon_mesh) и/или набор 3D-кривых. Если вы действительно начинаете с облака точек, тогда вы можете захотеть найти алгоритмы, которые предназначены для создания многоугольных сеток из облаков точек, прежде чем вы продолжите работу по обнаружению перекрытия сетки-> сетки. –
Как только у вас есть многоугольная сетка, вы начнете применять оптимизацию, о которой говорит Гарет/Джеймс, чтобы избежать сравнения каждого треугольника в одной сетке с каждым треугольником в другой сетке. Это никогда не было бы о каждом * возможном * треугольнике, который мог бы быть создан из всех вершин каждой сетки, как кажется в вашем вопросе. Но каждый треугольник в сетке -> каждый треугольник в другой сетке все еще медленный, и именно поэтому вы оптимизируете дальше :) –