Monday, 20 December 2010

Reconcile the madness

ITS CHRISTMAS!

Now, moving on, last week we had my monthly meeting which for me, focused upon demonstrating my work. This would have been easier if my work output anything useful to demonstrate, but regardless, over the past three months I have successfully implemented Eades heuristic and Walshaws multilevel algorithm, with an attempt (good attempt) being made with Veldhuizens work (although showing this to anyone who isnt me, is quite difficult it turns out).

As I mentioned through the meeting, I have been writing a small report about my progress over this time, with an initial version here. The un-reconciled code can also be found here (self explanatory with comments here and there). NB: you will need NetBeans with OpenGL and GLUT libraries to use these files.

Now onto the other parts of the meeting. There have been several changes requested, the two most major of those are:
  • Reconcile the code into a more appropriate and useful package, involving a modular based approach so different parts can be used by other applications.
  • Animate everything, or more specifically, animate any changes that happen through out the graph from reading the file to infinity (and beyond).
Other, lesser emphasized, changes include:
  • Draw the edges using GLUT cylinders
  • Check all Eades implementations for old/new coordinates rewrite*
  • Make the drawer class a tad more user friendly
  • Write some testing, to check when something is changed to see where errors are
  • Literature Review - begin to summarize and write up the several thousand notes sprawled across the papers I have read
All fairly reasonable, although some obviously more difficult than others, and a few may/will take longer than than one month (my normal personal deadline). Notes/minutes for meeting here.

*My Eades implementation currently uses the new coordinates of vertices to calculate the position of other vertices, instead of the older vertices. A handy work-around described during the meeting uses an array to hold the new vertices, whilst the algorithm uses the old, and updates them when finished.

It is my plan to have the code reconciliation/modularisation finished before the new year. I will also investigate the edge drawing as this is an interesting problem I want to test myself with.

For now, I wish you all a Merry Christmas and a Happy New Year!

No comments:

Post a Comment