Visual Graph Studio
with Dijktra's Algorithm
This is a visual graph editor with graph algorithms. This has a real 3d GUI developed from the basics with mouse support. The code is fully object-oriented.
Visual Graph Editor
It lets you design directed graphs with an easy point n click approach.
Lets you export the graphs to text files in simple format for your own use.
Lets you save and load graphs within the editor for persistent editing.
Illustrates 3D GUI programming with mouse input using primitive Graphic functions. Nice way to learn basics of GUI Interface programming from the ground-up.
Illustrates methods for implementing a real time zoom view of the graph.
Demonstrates mouse programming in C++.
Developed in Turbo C++ on DOS Platform , it was written as a part of the 3rd Assignment for implementing Dijktra's Algorithm in my 1st year.
Screenshot #1: The following screenshot shows the initial view of the studio.
Screenshot #2 : Visual Graph Editor in action. One can easily construct graphs just by clicking to make the nodes and the edges. The edge length can be specified manually or it can be set based on the physical distance between the nodes on the editor.
This also shows the Zoom feature of the Graph Editor to zoom in at particular sections of the graph. The editor also lets you adjust the zoom magnification for the zoom window.
Screenshot #3: This demonstrates construction of a simple graph and its output file which can be read from any program to apply graph algorithms.
Here is the graph info generated by saving the above graph
0 2 19.313208
0 4 14.142136
1 0 10.29563
1 2 15
1 4 20.248457
2 1 15
2 3 20.248457
2 4 17.464249
3 1 31.064449
4 0 14.142136
4 1 20.248457
4 3 15
The first line indicates number of nodes and second line indicates number of edges. Rest of the lines indicates edge lengths between the various nodes.
For more info mail me.
Source code for assignments
Source code for the above assignment - Dijktra's Algo with Visual Graph Editor
Other code for data structures
2-3 BTree ( code fully object-oriented )