Mapbox earcut.js 多边形三角剖分库的 Swift 移植版本。
Mapbox 的 earcut.js 使用 ISC 许可协议,而这个 Swift 版本的移植则使用 MIT 许可协议。
添加以下依赖
.package(url: "https://github.com/measuredweighed/SwiftEarcut.git", from: "1.0.0"),
关于 SwiftEarcut 的完整文档可以在 Swift Package Index 上找到(点击 Documentation
)。
向 Earcut 传递一个顶点坐标的扁平数组,并选择性地包含一个孔洞索引数组,tesselate 函数将返回一个三角形索引的扁平数组。
let result = Earcut.tesselate(data: [10, 0, 0, 50, 60, 60, 70, 10])
// result: [1, 0, 3, 3, 2, 1]