6个版本 (重大更新)
0.5.0 | 2021年4月25日 |
---|---|
0.4.0 | 2021年4月6日 |
0.3.0 | 2020年2月3日 |
0.2.0 | 2019年11月8日 |
0.1.1 | 2019年7月3日 |
#1938 in 算法
每月42次下载
42KB
1K SLoC
geo-visibility
本包包含计算可见多边形的算法。
此代码是C++库visibility的Rust端口。
示例
以下示例展示了如何计算点在直线障碍物中的可见多边形。由visibility
方法提供,该方法是Visibility
trait提供的,该trait已实现于大多数geo-types。
use geo::{Coordinate, Line};
use geo_visibility::Visibility;
let point = geo::Point::new(0.0, 0.0);
let lines = vec![
Line::new(
Coordinate { x: 1.0, y: 1.0 },
Coordinate { x: 1.0, y: -1.0 },
),
Line::new(
Coordinate { x: -1.0, y: -1.0 },
Coordinate { x: -1.0, y: -2.0 },
),
];
let visibility_polygon = point.visibility(lines.as_slice());
依赖项
~4–6MB
~115K SLoC