8 releases (4 breaking)
Uses new Rust 2021
new 0.5.0 | Aug 15, 2022 |
---|---|
0.4.2 | Aug 7, 2022 |
0.4.0 | Jul 30, 2022 |
0.3.1 | Jul 28, 2022 |
0.1.0 | May 4, 2022 |
#25 in Visualization
243 downloads per month
Used in 2 crates
39KB
820 lines
fdg (Force Directed Graph)
A Force Directed Graph Framework for Rust. This manages your forces and event loop for a visualization of a graph. I've also created compatible visualizers for the simulation. This simulation sits on top of petgraph
.
Name | Version | Docs | License |
---|---|---|---|
fdg-sim |
|||
fdg-macroquad |
|||
fdg-img |
Basic Example
use fdg_sim::{ForceGraph, ForceGraphHelper, Simulation, SimulationParameters};
fn main() {
// initialize a graph
let mut graph: ForceGraph<(), ()> = ForceGraph::default();
let one = graph.add_force_node("one", ());
let two = graph.add_force_node("two", ());
let _three = graph.add_force_node("three", ());
graph.add_edge(one, two, ());
// create a simulation from the graph
let mut simulation = Simulation::from_graph(&graph, SimulationParameters::default());
// your event/render loop
for frame in 0..50 {
// update the nodes positions based on force algorithm
simulation.update(0.035);
// render (print) your nodes new locations.
println!("---- frame {frame} ----");
for node in simulation.get_graph().node_weights() {
println!("\"{}\" - {:?}", node.name, node.location);
}
println!("-----------------------")
}
}
Related Crates
fdg-macroquad
A visualizer that usesmacroquad
for real-time rendering (View Demo Online).fdg-img
An SVG visualizer for the simulation.
Dependencies
~3.5MB
~86K SLoC