2 个版本
0.1.1 | 2020 年 5 月 1 日 |
---|---|
0.1.0 | 2020 年 5 月 1 日 |
#1730 在 算法
59KB
1.5K SLoC
Rust Delaunay 三角化
描述
该仓库根据此参考[1]实现了 Rust 中的 Delaunay 三角化。
主要目标是使用纯 Rust 实现三维精细,以便可移植到 wasm-pack 应用程序。
我在公开仓库中搜索了一些包。有一些很好的工作和高效的实现(svew、mourner、tynril、ucarion、d-dorazio),但没有一个可以扩展到这个目的。一些缺乏文档,一些采用其他方法。
方法
方法是实现 Bowyer Watson
增量插入算法,带有 幽灵三角形
和 冲突图
。这种方法可以扩展到 3D,前提是正确处理细丝渗出和光滑表面。
选择 Rust
是因为它在多个 Rust 上下文中的可移植性以及通过 wasm-pack
与 Javascript
的集成。
任务列表
- [x] 2D Delaunay Triangulation
- [ ] publishing release to crates.io
- [ ] 2D Delaunay Refinement
- [ ] 3D Delaunay Triangulation
- [ ] 3D Delaunay Refinement
功能
- 标准 Delaunay 三角化
- 增量顶点插入
- 递减顶点删除
- 空洞
- 精细(进行中)
- 四面体化(进行中)
API
进行中
贡献
首先,使用 cargo 环境克隆仓库。如果你想,可以将其分叉。运行测试。阅读代码。
提出建议、代码审查、重构的问题。
参考
- Cheng, Siu-Wing; Dey, Tama Krishna; Shewchuk, Jonathan Richard. Delaunay 网格生成。2013年由 Taylor & Francis Group, LLC 出版。
依赖项
~3.5MB
~73K SLoC