#predicates #robust #geometry

robust2d

基于Jonathan Schewchuk库的鲁棒几何谓词 https://www.cs.cmu.edu/~quake/robust.html

1个不稳定版本

使用旧的Rust 2015

0.1.0 2017年1月7日

#8#predicates

MIT 许可证

185KB
3.5K SLoC

C 3.5K SLoC // 0.1% comments Rust 122 SLoC // 0.0% comments

robust2d

基于Jonathan Schewchuk库的鲁棒几何谓词 https://www.cs.cmu.edu/~quake/robust.html 提供了C库的简单ffi包装,以及一些方便的Rust类型和函数。

示例

let _ = arithmetic::Library::init();  // Must initialize some static constants for the robust arithmetic

// Circle center at (0.0, 1.0) r=1.0
let a = Point::new(-1.0, 1.0);
let b = Point::new(1.0, 1.0);
let c = Point::new(0.0, 2.0);

// Test point
let p2 = Point::new(0.1, 0.5);

println!("{:?}", p2.orient_to_circle(&a, &b, &c)); // "Inside"

依赖项

~0.2–1MB
~25K SLoC