Course Outline: PDF | DOC (Word).
A brief synopsis: Programming graphical-user-interfaces using an event-driven model; Drawing and transformation of graphical objects; Programming in 3D; Animation techniques; Java and other graphics systems.
[Lecture 0 Administrative Details] PPT | PDF
Assignment 1 was handed out at the 1pm Lecture on Monday 4th August 2008.
Assignment 1 : Build a Drawing program. Handin deadline is 5pm on Monday 8th September 2007, just
after the Mid-Semester break. DOC | PDF
Electronic Handin form for assignment1.
Comments on this assignment from last year: The assignment was well
done - lots of you had fun with the various GUI features. Generally
those who got full marks implemented all the features, made it "look
good", and commented their code. One or two people had difficulties
understanding what the architecture needed to do. To draw a
collection of shapes, your program needs to keep some sort of
container (a list or vector or array) and to redraw all shapes every
call to paintComponent. It would not be a very useful drawing program
if it can only show one single shape at a time.
Assignment 2 was handed out at the 1pm Lecture on Monday 18th August 2008.
Assignment 2 : Build a Rendering program. Handin deadline is 5pm
on Moday 20th October 2007
(the dinosaur.dat data file is available from the MyProg examples page - see MyProg18-22, 25, 29 and 30)
DOC | PDF
Electronic Handin form for assignment2.
This paper was new in 2004. The style of questions and structure of the 2008 exam will be similar to that of previous years. You may therefore find it useful to test yourselves against these questions. The 2004 exam script is available: DOC (word) | PDF
There is no particular recommended textbook for this paper, although three useful books are:
The classic graphics text, now in 2nd edition is:
Computer Graphics Principles and Practice,
James Foley, Andries van Dam, Steven Feiner and John Hughes, Addison-Wesley,
Second Edition (in C with SRGP and SPHIGS) 1997, ISBN 0-201-84840-6.
You may find it gives a more detailed explanation of many of the
algorithms we have discussed during this paper. The algorthms and
"maths" in the book is excellent although the graphical systems they
use a little old fashioned. Remember the pace at which computer
science is moving forwards - "old -fashioned" only means they are just
2-3 years out dated :-)
Another excellent book for studying algorithms and the maths behind the ideas, is:
Computer Graphics with OpenGL
Donald Hearn and M. Pauline Baker,
Third Edition, Prentice Hall 2004, ISBN 0-13-015390-7.
This book maps well to some of the slides. Many of the ideas
covered in Java3D are taken from OpenGL and so this book is relevant.
You may find Java 2D Graphics by Johnathan Knudsen, Published by O'Reilly, ISBN 1-56592-484-3, of use in understanding some of the more advanced features of the Java 2D Graphics API. It covers the Swing GUI library fairly lightly. There are plenty of "brightly coloured" books in the library or in your bookshop on Swing. Unfortunately such books tend to have a short life time. You may find the online Swing tutorials at the Sun web site more valuable as they will be up to date with the software.
Another good book on OpenGL is Interactive Computer Graphics - A Top Down approach with OpenGLby Edward S. Angela. It comes with good online support material - ie programs - at this link.
A valuable online resource is also the Sun Java Tutorial which will help with general Java programming questions as well as the Swing Graphics library specifics.
Another useful link is the Java API.
An eclectic mixture of links into useful graphics/graphics systems/graphics programming resources on the Web is available.