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次下载

MIT 许可证

22KB
362

rust实现三角剖分

crates.io Build Status Coverage Status

Paul Bourke提出的Delaunay三角剖分算法的Rust实现。

docs.rsGitHub上查找crate文档。

这是一个练习,旨在更好地熟悉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