#graph #image #nodes #pathing

pathfinder

Create nodes, clusters of nodes and connection in between

29 releases

✓ Uses Rust 2018 edition

0.6.2 Mar 28, 2019
0.5.10 Jan 31, 2019
0.5.7 Dec 26, 2018
0.5.3 Nov 22, 2018
0.3.7 Jun 17, 2018

#8 in Visualization

Download history 67/week @ 2018-12-17 203/week @ 2018-12-24 80/week @ 2018-12-31 30/week @ 2019-01-07 21/week @ 2019-01-14 10/week @ 2019-01-21 27/week @ 2019-01-28 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

128 downloads per month

MIT license

93KB
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 listed 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

~3.5MB
~50K SLoC