11个版本

0.2.4 2020年12月8日
0.2.3 2020年9月1日
0.2.2 2020年8月28日
0.1.8 2020年8月21日

#1281 in 算法

Download history · Rust 包仓库 80/week @ 2024-03-30 · Rust 包仓库 159/week @ 2024-04-06 · Rust 包仓库 150/week @ 2024-04-13 · Rust 包仓库 165/week @ 2024-04-20 · Rust 包仓库 89/week @ 2024-04-27 · Rust 包仓库 58/week @ 2024-05-04 · Rust 包仓库 71/week @ 2024-05-11 · Rust 包仓库 86/week @ 2024-05-18 · Rust 包仓库 75/week @ 2024-05-25 · Rust 包仓库 82/week @ 2024-06-01 · Rust 包仓库 45/week @ 2024-06-08 · Rust 包仓库 82/week @ 2024-06-15 · Rust 包仓库 136/week @ 2024-06-22 · Rust 包仓库 93/week @ 2024-06-29 · Rust 包仓库 76/week @ 2024-07-06 · Rust 包仓库 131/week @ 2024-07-13 · Rust 包仓库

450 次每月下载

MIT/Apache

140KB
1K SLoC

chull

Build Status crates.io

文档 基于快速凸包的凸包近似。目前支持3-D和2-D。

示例

use chull::{ConvexHull,ConvexHullWrapper};
let p1 = vec![1.0, 1.0, 1.0];
let p2 = vec![1.0, 1.0, -1.0];
let p3 = vec![1.0, -1.0, 1.0];
let p4 = vec![1.0, -1.0, -1.0];
let p5 = vec![-1.0, 1.0, 1.0];
let p6 = vec![-1.0, 1.0, -1.0];
let p7 = vec![-1.0, -1.0, 1.0];
let p8 = vec![-1.0, -1.0, -1.0];
let p9 = vec![0.0, 0.0, 0.0];

let points = vec![p1, p2, p3, p4, p5, p6, p7, p8, p9];

// slow but robust
let cube1 = ConvexHullWrapper::try_new(&points, None).unwrap();
// fast but non-robust
let cube2 = ConvexHull::try_new(&points, std::f64::EPSILON*200.0, None).unwrap();

assert_eq!(cube1.volume(), 8.0);
let (v,i) = cube1.vertices_indices();
assert_eq!(v.len(), 8);
assert_eq!(i.len(), 6 * 2 * 3);

许可协议:MIT/Apache-2.0

依赖项

~500KB
~11K SLoC