The Algorithm to Overlay of Two Mesh Systems

2019-08-06 12:21发布

问题:

I have two systems of mesh, which are consist of Delaunay Triangulation. One can view this as a Triangulated Irregular Network (TIN).

The algorithm I can think of for adding or subtracting two TINs ( t1 and t2) can be summarized as follows:

  1. Find the overlay ( or clip) of two TINs
  2. For each point in the overlay, find the z1 and z2 resulted from the two TINs.
  3. Develop a Delaunay Triangulation for all the points in the overlay, and then use the z1 and z2 information above, one can thus create a tetrahedral for each triangle.

The question is, is there any existing C++ or C# library that already implement this ( or a variant of this)?

回答1:

An elegant solution is to perform boolean operations (union, add etc) on the meshes. Boolean operations are fairly well defined on triangular meshes. The best library that implements these is the GNU Triangulated Surface Library.