百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
E

earcut

> 编程语言
开源

为您的 WebGL 应用提供最快速、最小的 JavaScript 多边形三角化库

2.6K stars0 点赞1 次浏览
访问官网GitHub

工具介绍

为您的 WebGL 应用提供最快速、最小的 JavaScript 多边形三角化库

Earcut

最快且最小的 JavaScript 多边形三角剖分库。压缩后仅 4KB。

Earcut 专为浏览器中的实时三角剖分而设计, 优先考虑原始速度和简洁性,而非三角剖分质量, 同时足够稳健,能够处理大多数实际数据集而不会崩溃或产生垃圾结果, 并提供一个选项,可以以较小的代价将结果优化为 Delaunay 质量。 最初为 Mapbox GL JS(基于 WebGL 的交互式地图)而构建, 现在也被 Three.js 及许多其他项目所使用。

演示

用法

javascript
import earcut from 'earcut';
const triangles = earcut([10,0, 0,50, 60,60, 70,10]); // returns [1,0,3, 1,3,2]

算法

该库实现了一种改进的耳切算法, 通过z-order曲线和空间哈希进行优化, 并扩展以处理孔洞、扭曲多边形、退化情形及自相交, 其方式并不_保证_三角剖分的正确性, 但力求对实际数据始终产生可接受的结果。

其设计思路源自 Martin Held的FIST:快速工业级多边形三角剖分 以及David Eberly的耳切法三角剖分。

性能

Earcut 针对其主要工作负载进行了高度优化——即对来自 Mapbox Vector Tiles 的多边形进行三角剖分。在一个具有代表性的基准测试中,119,680 个真实世界多边形(190 万个顶点)取自缩放级别 4–16 的地图瓦片窗口,它在 MacBook Pro M1 Pro(2021)上以 约 445 毫秒 完成整个集合的三角剖分,可选的 Delaunay 细化额外耗时 约 168 毫秒。你可以使用 npm run bench 自行运行该基准测试。

鲁棒性

Earcut 不保证 对任意输入都能给出正确的三角剖分——它以质量换取速度,目标是始终提供

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

JavaScriptalgorithmcomputational-geometrydelaunayjavascript

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言