Skip to content

Latest commit

 

History

History
26 lines (21 loc) · 1.14 KB

README.md

File metadata and controls

26 lines (21 loc) · 1.14 KB

Force directed graph layout in Elm

Implementation of force directed layout algorithm in Elm.

The aim of force directed graph drawing algorithms is to produce aesthetically pleasing layout of graphs by simulating attractive / repulsive forces among nodes of the graph.

See it in action here

Things you can try:

  • Several example graphs
  • Move nodes using drag and drop
  • Tweak layout algorithm parameters using sliders

Note this implementation is still experimental, but I'd like to make this into reusable library soon.

TODOs

  • Add possibility to tweak layout algorithm parameters in UI
  • Add sample graphs
  • Add node drag & drop
  • Implement random graph (tree?) generation
  • Make Physics simulation code more readable
  • linear-algebra should not be needed - implement the primitives in separate module
  • Add parameter explanation hints
  • Make node / edge rendering logic configurable
  • Enable LayoutGraph initialization without randomization command (perhaps just with random gen seed?)