#node #graph-node #image #graph #path-finding

pathfinder

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

32个版本

0.6.5 2019年7月6日
0.6.3 2019年5月21日
0.6.2 2019年3月28日
0.5.7 2018年12月26日
0.3.7 2018年6月17日

#117 in 可视化

Download history 1/week @ 2024-03-13 7/week @ 2024-03-27 11/week @ 2024-04-03 2/week @ 2024-05-22

84 每月下载量
用于 diagnostic-quick

MITGPL-3.0 许可协议

100KB
2K SLoC

crates.io Build Status Documentation GitHub license

Logo of the project

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

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

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

特性

示例

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

use pathfinder::{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
~93K SLoC