CSC212 Final Project 2014
--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.
Contents
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