Skip to content

Jaak/graph-sa-vis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Graph visualiser

Uses simulated annealing to draw nice looking draphs (or at least attempt to). The algorithm is based on Drawing Graphs Nicely Using Simulated Annealing by Davidson and Harel.

Requires C++11 and cairo. The code is very experimental.

Some examples of drawn graphs can be found under the examples directory.

Building

CMake and cairo are required.

mkdir b
cd b
cmake ..
make -j4

TODO

  1. Upload some example images
  2. More graph constructions.
    • Consider some randomly generated graphs.
  3. Interactive graphical user interface. Animate the SA process.
  4. Faster energy evaluation. Needs some acceleration structure.
    • In most cases we don't have to check vertex against every other.
    • Maybe it's possible to avoid having to check edge against every other.
    • Alternatively, SIMD can offer near 4 fold speedup.
  5. Thread safe and faster random numbers.
  6. Structure the code better.
  7. Build system.
  8. Usage instructions on github.

Example drawings

Barabási–Albert model Erdős–Rényi model Binary tree

About

Visualise graphs with simulated annealing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published