我有以下问题(作为另一个问题的解决方案的一部分:))。我有一个三角形网格,标有一些三角形。需要将标记的三角形分成四个较小的三角形,如下所示:
/\ /\
/ \ /__\
/ \ --> /\ /\
/______\ /__\/__\
标记三角形的分裂导致需要与标记三角形相邻的分裂三角形(一个标记,另一个标记相邻,最后一个保持不变):
____ ____
/\ |\ /\ /|\
/ \ | \ /__\/ | \
/ \ | \ --> /\ /\ | \
/______\|___\ /__\/__\|___\
是否有一些可用的C / C ++库?此外,保留邻接数据很有用,因此在拆分后更新相邻数据会很好。如果它提供了一个方便的界面来处理这种数据(三角形,邻接),那就好了,即使这个库不能完成这项工作。
答案 0 :(得分:-1)
查看VTK C ++库。 它有一个类vtkPolyData,可以处理你提到的操作。要检查的特定成员函数:
阅读链接文档页面以了解如何使用它。该类可用于任何类型的单元格,而不仅仅是三角形。但您可以将使用限制为仅三角形。