2014-01-27 4 views
1

В настоящее время я ищу эффективный алгоритм для вычисления пересечения двух треугольных сеток. Я искал в Интернете, но не нашел ценных материалов. Книга Обнаружение столкновений в реальном времени - полезная книга, но слишком сложна для моей задачи. Я также нашел сообщение: Triangle to triangle collision detection in 3D. Однако я надеюсь найти подробное описание алгоритма.пересечение двух треугольных сеток

С уважением Бег

ответ

3

Ну это зависит от размера сетки, проверяя каждый треугольник в каждой сетке с другой действует только в небольших сетках, так как он имеет п^2 сложности.

Чтобы обойти это большинство алгоритмов, используйте сначала Spatial portioning , чтобы разделить пространство на более мелкие, а затем решать каждый отдельно.

Для пространственных порционирования большинство алгоритмов используют OcTrees или BSPTrees Однако, если вам не нужно усложнять вы можете просто разделить пространство на п коробки проверьте треугольник треугольник пересечения в каждой коробке

+0

Спасибо. Мой план состоит в том, чтобы построить один октет, используя точки из двух треугольных сеток. Если листовой узел содержит точки из обеих сеток, я попытаюсь обнаружить возможное пересечение между точками. La –

+0

Спасибо. Мой план состоит в том, чтобы построить один октет, используя точки из двух треугольных сеток. Если листовой узел содержит точки из обеих сеток, я попытаюсь обнаружить возможное пересечение между точками. Это зависит от того, как построить октет. Я думаю, что октет контролируется двумя параметрами: глубиной дерева и минимальным размером ячейки. В крайнем случае каждый листовой узел будет содержать только одну точку, и пересечение не произойдет. Это правдоподобно? –

+0

это конечно, но я думаю, что дерево должно быть построено на лицах не вершин, так как это может быть один большой треугольник, каждый из его вершин в другой ячейке, он должен быть рассчитан против всех ячеек, пересекающихся с треугольником, извините за late reply –

Смежные вопросы