Graph sandbox

A simple sandbox to demonstate how graph algorithms work. Available:

  • Dijkstra algorithm

Run

python -m venv env                          # create virtual enviorment
source env/bin/activate                     # activate virtual enviorment
python -m pip install -r requirements.txt   # install all dependencies
python main.py                              # run sandbox

Control

  • LMB for drag n drop or create connections between graph vertices
  • RMB for creating new graph vertices on the field
  • MMB for set start and end
  • Mouse wheel for change edge price
  • Red square on top left for delete vertices (with bugs)

Future plans (TODO)

  • Create World class for encapsulate vertices and and their price
  • Improove main loop (now with lags)
  • Add other algorithms and other graph types