CSC212 Final Project 2014

From dftwiki3
Revision as of 11:25, 28 November 2014 by Thiebaut (talk | contribs) (Features)
Jump to: navigation, search

--D. Thiebaut (talk) 11:09, 28 November 2014 (EST)


This project is due on the last day of exam period, at 4:00 p.m. No extensions will be granted.


Assignment

  • Implement a Model-View-Controller in Processing that visualizes a network of vertices.
  • The model should use the graph implementation shown on this page.
  • Inspire yourself from the video below when designing your MVC.



  • Your MVC should provide 3 different features:
  • It should be able to highlight all the vertices connected to the vertex under the mouse pointer.
  • It should be able to display the shortest path from the last clicked vertex (marked with a red dot) to the vertex currently under the mouse pointer.
  • It should implement a third functionality that you are free to choose, and will depend on how ambitious you are.


Features


Your MVC should have at least 3 buttons:

  • one button will control whether the connected component of a vertex is shown or not.
  • one button will control whether the shortest path from the last-clicked vertex to the one under the mouse should be shown or not
  • one button will display a simple box on the applet that will contain:
  • Your name
  • The date you submitted your project
  • A short description of your project (40 to 50 words, max)
  • one button (optional) that will control your selected feature (see Assignment section above)


Ideas


Here is a non-exhaustive list of possible "third feature" you may want to consider. The maximum number of points for the 3rd feature is 30 out of a total of 100 for the whole project.

  • Your MVC displays the number of connected component (5 points)
  • Your MVC can generate a brand new graph when the user clicks on a button (5 points)
  • Your MVC colors each connected component with a different color (15 points)
  • Your MVC allows the user to dynamically add/remove edges to/from the network. The connected components, shortest paths, and all other graph properties are automatically updated after each operation (30 points)
  • Your MVC allows the user to dynamically change the probability of creating edges, and creates a brand new graph (with its associated properties) every time the probability is changed (30 points)
  • Your MVC draws the tree created by DFS when starting on the vertex under the mouse pointer.


Submission