2个稳定版本
1.1.0 | 2023年1月6日 |
---|---|
1.0.0 | 2020年9月1日 |
#353 in 数学
830每月下载次数
在 6 个Crates中使用了(5个直接使用)
105KB
555 行
希尔伯特2D
Rust函数,用于使用希尔伯特曲线及其近似值在1D和2D空间之间进行映射。
用法
将此添加到您的 Cargo.toml
[dependencies]
hilbert_2d = "1.1.0"
当处理图像和矩阵时,请使用 h2xy_discrete
和 xy2h_discrete
函数
use hilbert_2d::{h2xy_discrete, xy2h_discrete, Variant};
let (x, y) = h2xy_discrete(7, 2, Variant::Hilbert); // (1, 2)
let h = xy2h_discrete(2, 1, 2, Variant::Hilbert); // 13
在执行实值计算时,请使用连续函数
use hilbert_2d::{h2xy_continuous_f64, Variant};
// Approaches the bottom-left corner
let (x1, y1) = h2xy_continuous_f64(0.0, Variant::Hilbert);
// Approaches the bottom-right corner
let (x2, y2) = h2xy_continuous_f64(1.0, Variant::Hilbert);
希尔伯特曲线的一些图案变体也已实现
use hilbert_2d::{h2xy_continuous_f64, Variant};
// In the Liu L1 variant, both ends of the curve approach the center of the square
let (x1, y1) = h2xy_continuous_f64(0.0, Variant::Liu1); // (~0.5, ~0.5)
let (x2, y2) = h2xy_continuous_f64(1.0, Variant::Liu1); // (~0.5, ~0.5)
许可
根据以下任一项许可
- Apache License,版本2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则任何根据Apache-2.0许可证定义故意提交以包含在您的工作中的贡献,均应按上述方式双许可,不附加任何额外条款或条件。