两种网格系统的叠加算法

时间:2011-01-03 13:13:08

标签: c# geometry computational-geometry

我有两个网格系统,它们由Delaunay三角测量组成。人们可以将其视为不规则三角网(TIN)。

我可以想到添加或减去两个TIN(t1t2)的算法可归纳如下:

  1. 查找两个TIN的the overlay ( or clip)
  2. 对于叠加层中的每个点,找到两个TIN产生的z1z2
  3. 为叠加层中的所有点开发Delaunay三角剖分,然后使用上面的z1z2信息,可以为每个三角形创建四面体。
  4. 问题是,是否有任何已经实现此功能的C ++或C#库(或其变体)?

1 个答案:

答案 0 :(得分:1)

一个优雅的解决方案是在网格上执行布尔运算(并集,添加等)。在三角形网格上很好地定义了布尔运算。实现这些的最佳库是GNU Triangulated Surface Library