# delaunay-triangulation # delaunay # 三角化 # 增量 # 精细 # bowyer-watson

nlsn-delaunay

通过 Bowyer Watson 增量插入、冲突图和幽灵顶点实现 Delaunay 三角化和精细

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 应用程序。

我在公开仓库中搜索了一些包。有一些很好的工作和高效的实现(svewmournertynrilucariond-dorazio),但没有一个可以扩展到这个目的。一些缺乏文档,一些采用其他方法。

方法

方法是实现 Bowyer Watson 增量插入算法,带有 幽灵三角形冲突图。这种方法可以扩展到 3D,前提是正确处理细丝渗出和光滑表面。

选择 Rust 是因为它在多个 Rust 上下文中的可移植性以及通过 wasm-packJavascript 的集成。

任务列表

- [x] 2D Delaunay Triangulation
- [ ] publishing release to crates.io
- [ ] 2D Delaunay Refinement

- [ ] 3D Delaunay Triangulation
- [ ] 3D Delaunay Refinement

功能

  • 标准 Delaunay 三角化
  • 增量顶点插入
  • 递减顶点删除
  • 空洞
  • 精细(进行中)
  • 四面体化(进行中)

API

进行中

贡献

首先,使用 cargo 环境克隆仓库。如果你想,可以将其分叉。运行测试。阅读代码。

提出建议、代码审查、重构的问题。

参考

  1. Cheng, Siu-Wing; Dey, Tama Krishna; Shewchuk, Jonathan Richard. Delaunay 网格生成。2013年由 Taylor & Francis Group, LLC 出版。

依赖项

~3.5MB
~73K SLoC