Skip to content

danrr02/GraphIt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GraphIt aims to implement a number of graph drawing algorithms in C++. Currently the focus is on spectral graph drawing methods, but there will be implementations of other techniques as well (such as force based drawings).

These papers relate to the currently implemented algorithms:

Drawing Graphs By Eigenvectors: Theory and Practice - Y. Koren

An r-dimensional quadratic placement algoritm - K.M. Hall

The Eigen and Spectra libraries are essential for matrix manipulations and spectral calculations, and SFML is used to render the results.

Below is shown some sample output:

Screenshot from 2024-10-17 00-10-52-0 Screenshot from 2024-10-17 00-10-52-1 Screenshot from 2024-10-17 00-10-52-2 Screenshot from 2024-10-17 00-10-52-5 Screenshot from 2024-10-17 00-10-52-6 Screenshot from 2024-10-17 00-10-52-7

The follwing output was produced using a modified version of the algorithm which produced the above images. In this new case the graphs are embedded into an appropriately chosen vector space before calculations are run. This allows the algorithm to deal with much larger graphs in finite time.

Screenshot from 2024-10-17 00-10-52-8 Screenshot from 2024-10-17 00-10-52-9

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published