Benchmarks | C++

Intersect

Isocontours and mesh–mesh intersection curves.

Benchmarks for geometric intersection computations. See experimental setup for methodology.

Isocontours

Extraction of isocontours from a scalar field defined on mesh vertices. The scalar field is Euclidean distance from the mesh centroid; isovalues are evenly spaced across the field range. TrueForm uses tf::make_isocontours with reduction diagrams in float precision; VTK uses vtkContourFilter; libigl uses igl::isolines. Results shown for 16 isovalues.

Source: TrueForm, VTK, libigl

Isocontours (16 cuts)

libigl

Isocontours Speedup (16 cuts)

vs
vs libigl

TrueForm isocontour extraction is 40× faster than VTK and 154× faster than libigl at 1M polygons.

Mesh–Mesh Curves

Intersection curves between two overlapping meshes. The second mesh is a rotated copy around the mesh centroid, using the smallest bounding box axis. TrueForm uses tf::make_intersection_curves with reduction diagrams in double precision; CGAL uses surface_intersection with Simple_cartesian<double> kernel.

Source: TrueForm, CGAL

Mesh-Mesh Intersection Curves

CGAL

Mesh-Mesh Intersection Curves (Speedup)

vs CGAL

TrueForm mesh–mesh intersection curve extraction is 150× faster than CGAL at 1M polygons per mesh.