#graph #image #nodes #pathing

pathfinder

Create nodes, clusters of nodes and connection in between

31 releases

✓ Uses Rust 2018 edition

new 0.6.4 Jun 22, 2019
0.6.2 Mar 28, 2019
0.5.7 Dec 26, 2018
0.5.3 Nov 22, 2018
0.3.7 Jun 17, 2018

#7 in Visualization

Download history 16/week @ 2019-02-04 5/week @ 2019-02-11 32/week @ 2019-02-18 36/week @ 2019-02-25 29/week @ 2019-03-04 3/week @ 2019-03-11 8/week @ 2019-03-18 167/week @ 2019-03-25 33/week @ 2019-04-01 5/week @ 2019-04-08 5/week @ 2019-04-15 30/week @ 2019-04-22 5/week @ 2019-04-29 29/week @ 2019-05-06 37/week @ 2019-05-13

180 downloads per month

MIT license

97KB
2K SLoC

crates.io Build Status Documentation Test coverage GitHub license

Logo of the project

Graph large number of Connected nodes mapped on to an Image or Gif.

Placing positioned objects on to an Image can cause many issue. This library is meant to ease interacting with images and create higher order abstractions which makes it easy to populate larger Image surfaces with large number of surface objects.

Features

Example

Easily manipulate large number of Nodes with less accuracy through Groups.

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"));

Path through a list of connected nodes.

let pos = [(0, 0), (100, 100), (150, 50), (2000, 4000), (400, 600)];
let nodes = Node::from_list(&pos); // 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?);

Output

Node plot

Groups

Dependencies

~3MB
~52K SLoC