Генерация граней трехмерного объекта с учетом его точек и ребер

У меня есть 3D каркас, состоящий из 3D точек и ребер. Как я могу идентифицировать наборы вершин, образующих грань трехмерного объекта?

я использую QT и хотите визуализировать трехмерный объект, учитывая его набор точек и набор ребер. Лучшее, что я смог сделать, это дать три точки, образующие треугольное лицо, я могу отрисовать его в 3D. Но как сделать то же самое, учитывая больше точек и ребер? Или, в качестве альтернативы, как разбить множество на наборы из 3 точек, образующих треугольную грань?

0

Решение

  • Просто возьмите свое первое ребро и его вершины (V1 и V2).
  • Найдите все ребра, которые используют V2 — их вторые вершины являются вашими потенциальными V3.
  • Для каждого потенциального V3 проверьте, есть ли у вас ребро V1-V3 — если так, то вы нашли треугольник V1-V2-V3. Для большинства сеток у вас должно быть один или два таких треугольника. Когда вы добавляете новый треугольник, всегда проверяйте, не был ли он уже найден.
  • Сделайте то же самое для ребер, которые используют V1.
  • Возьмите следующий край и повторите.

В зависимости от ваших точных данных, направлений ребер и т. Д. Могут потребоваться небольшие изменения, но вы должны понять это.

0

Другие решения

Других решений пока нет …