#graph #multidimensional

量化密度场

Rust 的 Quantized Density Fields 数据结构实现

13 个版本

使用旧 Rust 2015

0.2.3 2018 年 11 月 5 日
0.2.2 2018 年 10 月 30 日
0.1.9 2018 年 10 月 25 日

数据结构 中排名 2466

每月下载量 40

MIT 许可证

56KB
1K SLoC

量化密度场

Rust 实现的量化密度场数据结构。

Travis CI Docs.rs Crates.io

用法

Cargo.toml 中记录

[dependencies]
quantized-density-fields = "0.2.3"

您的 crate 模块

// declare import of external QDF crate.
extern crate quantized_density_fields;

// use QDF struct.
use quantized_density_fields::QDF;

// create 2D space with `9` as state of whole universe.
let (mut qdf, root) = QDF::new(2, 9);
// increase root space density (2D space is subdivided into 3 children chunks).
let subs = qdf.increase_space_density(root).unwrap();
let subs2 = qdf.increase_space_density(subs[0]).unwrap();
// find shortest path between two platonic spaces.
assert_eq!(qdf.find_path(subs2[0], subs[2]).unwrap(), vec![subs2[0], subs2[1], subs[2]]);

概念

QDF 不存在于任何空间中 - 它就是空间,它定义空间,它描述空间,因此没有空间坐标,您负责提供它们。在未来的版本中,此 crate 将具有将 QDF 投影到欧几里得空间的模块,并将有一个卫星 crate 以轻松遍历和可视化空间。

要采样特定区域,您需要知道一些空间 ID,并根据其相邻空间收集其余信息。这使您能够在指定位置控制空间密度,例如,根据重力模拟空间曲率。

待办事项

  • 展示 QDF 容器工作原理的插图。

依赖项

~4MB
~63K SLoC