Computer Graphics 2004/2005 Assignment

For this assignment you are requested to implement a Geometric Constructions Visualisation Tool. The idea behind this assignment is to create a tool which enables the visualisation of geometric constructions. You should only concern yourselves with drawing points, lines and circles on a 2D surface in a 3D world. This means that one should be able to rotate around the current construction. The input to your program will be a list of instructions which your program should be able to translate into a sequence of visual descriptions (an animation). For example, if the input is "drawLine(p1,p2), drawLine(p3,p4)" your program should first animate the drawing of a line (using some tickness parameter from the input plus a pencil and a ruler) between p1 and p2, then animate the drawing of a line between P3 and P4. Clearly the first line needs to remain visible on the surface. Your program should implement the following functions:

  • DrawPoint (x,y)
  • DrawLine (Point, Point)
  • DrawCircle (Point, Point)
  • SetName (String)
  • PointAt (Point)
  • SetColour (Colour)
  • SetWidth (Integer)
  • CommentAdd (String)
  • CommentRep (String)
  • CommentErase

Both DirectX or OpenGL can be used. Your implementation should have (34 marks):

  • A geometry construction visualisation tool. Everything should be created in a 3D world.
  • A documentation of your design/implementation.Describe also the main classes used for the assignment. 8-10 pages should be sufficient.

    Deadline for the handing in of the assignment is Monday 8th January 2006. Please include both source and executable files on a CD (if you don't send them by email) attached to your documentation.