#polygon #computational-geometry #triangulation #2d-3d #graphics #port #coplanar

no-std earcut

A Rust 版的 Earcut 多边形三角剖分库

4 个版本

0.4.1 2024 年 4 月 18 日
0.4.0 2024 年 4 月 15 日
0.3.6 2024 年 4 月 12 日

#52科学

Download history 37/week @ 2024-04-26 24/week @ 2024-05-03 24/week @ 2024-05-10 41/week @ 2024-05-17 48/week @ 2024-05-24 45/week @ 2024-05-31 31/week @ 2024-06-07 146/week @ 2024-06-14 240/week @ 2024-06-21 786/week @ 2024-06-28 1740/week @ 2024-07-05 1118/week @ 2024-07-12 1575/week @ 2024-07-19 3954/week @ 2024-07-26 2975/week @ 2024-08-02 1968/week @ 2024-08-09

10,530 每月下载量
用于 dda-voxelize

ISC 许可证

1MB
1K SLoC

earcut-rs

Test codecov Crates.io Version

Earcut 多边形三角剖分库的 Rust 版本,从头开始实现,部分参考了 donbright/earcutr

  • 基于最新的 Earcut 2.2.4 版本。
  • 设计用于避免不必要的内存分配。您可以为多次三角剖分重用内部缓冲区和输出索引向量。
  • (实验性) 一个额外的模块,utils3d,可以在三角剖分之前将 3D 共面多边形旋转到 2D 平面。
  • 许可证: ISC

基准测试

在 Macbook Pro (M1 Pro) 上

多边形 earcut.hpp earcut-rs (0.4.1) earcutr (0.4.3)
bad_hole 3.574 µs/i 4.623 µs/i 4.415 µs/i
构建 397 ns/i 195 ns/i 604 ns/i
退化 142 ns/i 45 ns/i 206 ns/i
dude 5.061 µs/i 6.496 µs/i 8.096 µs/i
empty_square 195 ns/i 74 ns/i 331 ns/i
water 459.6 µs/i 574.5 µs/i 801.3 µs/i
water2 334.1 µs/i 393.9 µs/i 450.3 µs/i
water3 13.12 µs/i 19.21 µs/i 23.46 µs/i
water3b 1.340 µs/i 1.345 µs/i 2.165 µs/i
water4 81.48 µs/i 110.6 µs/i 154.1 µs/i
water_huge 6.906 ms/i 11.0k ms/i 10.90 ms/i
water_huge2 15.38 ms/i 23.60 ms/i 22.35 ms/i

(Earcutr 不是基于最新的 Earcut.)

依赖项