29个稳定版本

2.12.0 2024年8月13日
2.10.0 2024年7月25日
2.6.0 2024年1月14日
2.5.1 2023年12月28日
0.2.1 2016年10月11日

#57数据结构

Download history 29557/week @ 2024-05-01 32001/week @ 2024-05-08 33795/week @ 2024-05-15 34077/week @ 2024-05-22 36345/week @ 2024-05-29 32918/week @ 2024-06-05 34890/week @ 2024-06-12 34226/week @ 2024-06-19 34272/week @ 2024-06-26 31417/week @ 2024-07-03 36371/week @ 2024-07-10 34681/week @ 2024-07-17 43049/week @ 2024-07-24 42703/week @ 2024-07-31 42719/week @ 2024-08-07 46954/week @ 2024-08-14

181,853 每月下载量
182 个crate(20直接) 中使用

MIT/Apache

580KB
11K SLoC

Docs Crates.io License GitHub Workflow Status (branch) dependency status

spade

Rust生态系统的Delaunay三角剖分。

  • 2D Delaunay三角剖分,可选地通过层次结构支持以提高最近邻和插入性能。
  • 允许增量或批量加载创建三角剖分
  • 支持顶点移除
  • 2D约束Delaunay三角剖分(CDT)
  • Delaunay细化
  • 使用精确的几何谓词来防止由于舍入问题导致的不正确几何形状
  • 支持提取Voronoi图
  • 自然邻域插值

A Delaunay triangulation and the dual Voronoi Graph

项目目标

按重要性顺序排列的项目目标

  1. 健壮性 - 所有数据结构都应该正确行为。即使仅在罕见情况下触发,也不接受不正确的结果。这就是为什么Spade默认使用精确的计算内核。
  2. 易于使用 - 优先考虑易于使用的API,而不是暴露所有功能和装饰的API。
  3. 性能 - Delaunay三角剖分通常是应用程序的低级组件。在此领域的优化将带来很大的回报。
  4. 占用空间小 - Spade应该是一个合理的库,可以包含到您的项目中,而不需要太多的依赖。在可能的情况下,更大的依赖项将被功能门控。

路线图

为Spade 3

  • 可能通过不支持非f64输出简化API。

性能与其他crate的比较

有关基准测试和其他crate的比较,请参阅 delaunay_compare的readme

许可协议

以下任一许可协议下提供许可

由您选择。

依赖关系

~2.5MB
~33K SLoC