Fade comes in two flavors: Fade 2D is a planar Delaunay triangulation library while Fade 2.5D creates elevated Delaunay triangulations (TINs, Triangulated Irregular Networks) from 2.5D point clouds. Both versions are equipped with a rich selection of additional useful algorithms.
Fade 2D Library
Fade2D is an easy to use 2D Delaunay triangulation library for C++:
- 2D Delaunay with constraint edges and Zone-concept
- Multithreaded, high performance algorithm
- Grid Mesher, Delaunay Mesh Generator
- Polygon clipping, boolean operations on polygons
- Fast segment intersection tester
- Free student license. Eval- and commercial licenses with support are available
Fade 2.5D Library
Fade 2.5D is a Delaunay triangulation library that computes elevated TINs from 2.5D point clouds. 2.5D allows exactly one height (z) value per (x,y)-coordinate pair and this distinguishes it from 3D: It’s there for surfaces which have an intersection free projection to the (x,y)-plane like a terrain. Fade 2.5D contains all features of Fade2D plus a z-coordinate and additional algorithms for height fields.
- 2.5D TINs for elevated surfaces
- Breakline insertion at segment- or surface-level
- Fast ISO-Contours
- Cut and Fill for earthwork volume computations
- Height queries for arbitrary (x,y)-coordinates
- CloudPrepare algorithm to reduce a point cloud within a specified tolerance
Constrained and Conforming Delaunay Triangulation
You can insert constraint edges in 2D and also in the 2.5D version where the term breakline is more common.
Delaunay Mesh Generator and Grid Mesher
The Mesh Generator creates high quality triangles inside a given area. Thereby the user can either claim just a simple quality feature like the minimum interior triangle angle. Or he can precisely control the mesh generation procedure. Possible parameters are the maximum edge length, a grow factor on neighbored triangles and grid alignment.
Performance of Fade
Fade2D is multithreaded and very fast. Triangulating one million points (2 million triangles) takes 0.17 seconds on a Corei7 6800K. Have a look at this comparison of single- and multithreaded runs with large point-sets.