7个版本
使用旧的Rust 2015
0.3.1 | 2018年5月23日 |
---|---|
0.3.0 | 2018年5月23日 |
0.2.1 | 2017年1月22日 |
0.1.2 | 2017年1月17日 |
#1263 in 算法
每月35次下载
22KB
362 行
rust实现三角剖分
Paul Bourke提出的Delaunay三角剖分算法的Rust实现。
这是一个练习,旨在更好地熟悉Rust。据我所知,它应该可以工作,但也许不行。此外,这是一个O(n1.5)(大约)算法,它没有并行化,也没有使用GPU。
用法
将rtriangulate依赖项添加到Cargo.toml
[dependencies]
rtriangulate = "0.3"
然后这样使用crate
extern crate rtriangulate;
use rtriangulate::{TriangulationPoint, triangulate};
fn main() {
// A list of points (which has to be sorted on x).
// Note that you can use your own point type, just implement the rtriangulate::Point trait.
let points = [
TriangulationPoint::new(10.0, 50.0),
TriangulationPoint::new(25.0, 40.0),
TriangulationPoint::new(30.0, 40.0)
];
// In case you need to sort your points:
// points.sort_unstable_by(rtriangulate::sort_points);
// Do the triangulation.
let triangles = triangulate(&points).unwrap();
println!("{:?}", triangles); // [Triangle(1, 0, 2)]
}
许可证
MIT - 请参阅LICENSE
文件。
依赖关系
~155KB