#node #graph-node #image #graph #pathing

pathtracer

创建节点、节点群以及它们之间的连接

1 个不稳定版本

0.6.5 2020年3月14日

#247可视化

MITGPL-3.0 许可协议

100KB
2K SLoC

crates.io Build Status Documentation GitHub license

之前命名为 pathfinder,但该名称已被请求并转让给了 servo/pathfinder 项目。

Logo of the project

将大量连接节点映射到图像或 Gif 上。

Logo 是使用库生成的,实现可以在示例目录中找到。

将定位对象放置在图像上可能会导致许多问题。这个库旨在简化与图像的交互,并创建高级抽象,使得在大图像表面上填充大量表面对象变得容易。

功能

示例

使用组放置更多的节点。组是一个封装了许多节点的结构。

use pathtracer::{Group, map};
use std::path::Path;

let mut groups = Group::from_list(&[(0, 0), (100, 100)]);
for group in groups.iter_mut() {
    group.add(100);
}
Map::new()
    .map(&groups)
    .save(&Path::new("out.png"));

通过连接节点的列表进行路径。生成一个通用节点的列表,然后将它们按索引顺序链接起来,然后我们创建一个由节点组成的网络,并确认第一个节点与最后一个节点相连。

let pos = [(0, 0), (100, 100), (150, 50), (2000, 4000), (400, 600)];
let nodes = Node::from_list(&pos); // Generic Nodes are named in sequence: A-Z.
let nodes = Node::linked_list(nodes);
let net = Network::new(nodes);
let path = net.path("A", "E");
node::path_print(&path?);

输出

这些示例是从仓库中的示例生成的。

Node plot

Groups

依赖项

~14MB
~92K SLoC