Creating a Drawing Program with an Advanced Graphical User Interface



Name: Kelly Geoghegan


Abstract: This project uses Python, a relatively new programming language, to create a drawing program that is simple to use but not limited in its capabilities. The final product will be a user-friendly drawing tool kit for the computer animator.

Background Information

The first Python book was first written in 1995, when the newborn language had almost no recognition and no support. By 2001, dozens of books had been written with more on the way. Python has expanded at lightning speed, and conservative estimates site as many as 300,000 current Python users worldwide. This versatile language has been used for everything from Yahoo's on-line maps to the animation in the latest Star Wars movie. The unique features of Python are its interface capabilities and utilities, along with its portability. Such qualities make Python a logical choice for computer graphics programming and anything involving the Graphical User Interface (GUI).

The goals of my GUI include:

  • Precision
  • Compactness
  • Ease in writing and reading
  • Speed in learning
  • Simplicity (for error reduction)
  • Ease of retention over time

    Higher level GUI goals include:

  • Close correspondence between reality and the notation
  • Convenience in carrying out manipulations relevant to the users' tasks
  • Compatibility with existing notations
  • Flexibility to accommodate novice and expert users
  • Expressiveness to encourage creativity
  • Visual Appeal

    Python is flexible enough to accommodate all of these needs for the computer programmer.

    Model


    The model will be a drawing tool kit that achieves the GUI goals, and is not limited in capabilities. The drawing program will create simple shapes, allow the user to select color, texture, etc., and arrange them on a blank canvas.