API相关介绍
https://nettopologysuite.github.io/NetTopologySuite/api/NetTopologySuite.Triangulate.Polygon.PolygonTriangulator.html
源码地址:https://github.com/NetTopologySuite/NetTopologySuite/blob/main/src/NetTopologySuite/Triangulate/Polygon/PolygonTriangulator.cs/#L43
能进行三角剖分,将多边形分解成三角形,但并不会确保构建最优的三角剖分。
效果示意图
剖分前:
剖分后:
调用示例代码
需在NuGet中安装NetTopologySuite 2.5版本。
var wkt = "polygon((0 0,0 2,1 2,1 1,2 1,2 2,3 2,3 0,0 0),(1 0.3,1 0.6,2 0.6,2 0.3,1 0.3))";
var r = new WKTReader();
var polygon = r.Read(wkt) as Polygon;
var geos = PolygonTriangulator.Triangulate(polygon) as GeometryCollection;