Я уверен, что средний пользователь vtk уже видел результаты, подобные следующим более одного раза.Как отремонтировать сломанную поверхность в vtk?
Мой вопрос (ы): Как бы вы ремонт такой испорченной поверхности? И что, как правило, является причиной таких целостностей на поверхности?
Мой конкретный пример был создан с помощью vtkBooleanOperationPolyDataFilter и vtkAppendPolyData, но я видел такие сломанные, вырожденные поверхности также в разных случаях.
Большое спасибо за предложения.
@Miro. Спасибо за предложения. Входные данные многообразны, я использую vtkTriangleFilter, и я также проверил второй вывод vtkBooleanOperationPolyDataFilter. На данный момент я считаю, что это (возможно, числовая) ошибка в vtkBooleanOperationPoyDataFilter, поскольку она появляется только иногда. Я разместил проблему [здесь] (http://vtk.1045678.n5.nabble.com/Broken-surfaces-for-vtkBooleanOperationPolyDataFilter-Bug-td5735413.html) в списке рассылки vtk, чтобы сообщить разработчику об этом Это. – normanius
@ Miro. Я надеялся получить общий рецепт о том, как исправить такие сломанные поверхности апостериор. Для некоторых инструментов для этой цели есть функция «mesh doctor», и я задавался вопросом, как это можно сделать в vtk. – normanius
Существует vtkFillHolesFilter, который может сшить слезы, но ваш пробег может отличаться. Я заметил в коде, опубликованном в списке рассылки, что на самом деле вы не используете trianglefilter в работе2, поэтому, возможно, стоит подключить sourceTriangles вместо источника. Кроме того, вы можете немного уменьшить или увеличить допуск - в зависимости от масштаба ваших данных это может иметь значение. – mirni