9个版本
使用旧的Rust 2015
0.1.19 | 2019年9月15日 |
---|---|
0.1.18 | 2019年9月15日 |
0.1.16 | 2018年8月16日 |
#228 in 科学
28 每月下载量
140KB
207 行
圆边界
这是一个单一用途的库。本库的目标是返回圆边界,如图所示,以离散像素表示。
用法
在主文件顶部包含库,如下所示。
extern crate circle_boundary;
然后,通过在需要使用它的文件顶部添加以下行,获取对公共 calculate
函数的访问。
use circle_boundary::calculate;
use circle_boundary::Boundary;
然后,您可以使用计算函数返回一个边界数据结构向量。每个边界结构包含一对笛卡尔坐标(x和y),其中x由单个数字表示其位置,y由一个范围表示,表示边界在y轴上的位置。
calculate
函数期望以表示为第一个两个参数的原点,一个x值作为 i32
整数和一个y值作为 i32
整数。最后一个参数是你想要的圆边界的半径,表示为 i32
整数。
let bounds = calculate(0, 0, 3);
如上所述,返回的值是一个表示边界的向量
vec![
Boundary { x: -3, y: -1..1 },
Boundary { x: -2, y: -2..2 },
Boundary { x: -1, y: -3..3 },
Boundary { x: 0, y: -3..3 },
Boundary { x: 1, y: -3..3 },
Boundary { x: 2, y: -2..2 },
Boundary { x: 3, y: -1..1 },
];
这可以表示为以下图。其中,深灰色方块表示原点,绿色方块表示y范围的下限,红色方块表示y范围的上限。
非原点示例
正如所注,calculate
函数可以接受坐标,这些坐标将结果从 (0,0)
原点偏移。如果你传入一个偏移量,如
calculate(9, 3, 7);
这将返回以下向量
vec![
Boundary { x: 2, y: 1..5 },
Boundary { x: 3, y: -1..7 },
Boundary { x: 4, y: -2..8 },
Boundary { x: 5, y: -3..9 },
Boundary { x: 6, y: -3..9 },
Boundary { x: 7, y: -4..10 },
Boundary { x: 8, y: -4..10 },
Boundary { x: 9, y: -4..10 },
Boundary { x: 10, y: -4..10 },
Boundary { x: 11, y: -4..10 },
Boundary { x: 12, y: -3..9 },
Boundary { x: 13, y: -3..9 },
Boundary { x: 14, y: -2..8 },
Boundary { x: 15, y: -1..7 },
Boundary { x: 16, y: 1..5 },
];
它代表以下圆边界,其中黑色方块表示 (0,0)
原点
示例
有关如何使用此库的更多示例,您可以查看此存储库中的 examples/
文件夹。您可以使用以下命令运行每个示例
cargo run --example <example-name>
例如
cargo run --example introduction
将运行入门示例文件 examples/introduction.rs
。
开发
为 Rust 构建项目
安装 Rust 和 Cargo,然后运行
cargo build
为 Web 构建项目
安装 wasm-pack,然后运行
wasm-pack build
- 将
README_NPM.md
文件复制到/pkg
文件夹,作为README.md
。 - 确保将
images
文件也复制到生成的/pkg
文件夹中。
运行测试
使用 Cargo 命令
cargo test
依赖项
~1-2MB
~42K SLoC