The primary goal of this course is to introduce many important data structures and algorithms that are useful for presenting data visually on a computer. It does not cover the use of graphics design applications such as Photoshop and AutoCAD. On one hand, this course aims to provide the background information on how a computer handles graphics, and on the other hand it is a programming class which will use Java3D as a training tools. The goal of this class is to provide you with sufficient background to write computer graphics applications.

Roughly speaking, the first third of this course will address a broad range of topics that we refer to as Raster Methods. These include two dimensional computer graphics, raster operations, imaging methods, and user interface design and construction. The second half of the course will cover topics related to three-dimensional computer graphics, including representation, illumination, shading, visibility determination, rendering, and animation. This is a lot of stuff to cover in 12 class meetings, but, I hope that you will find, as I have, that this stuff, computer graphics, is great.

Computer graphics is a really large subject which range from how you will plot a little dot on the screen of a computer to the use of various input and output devices to help you to fell fully immersed into a virtual world. In this lecture, we'll have a look on the different aspects of computer graphics, but of course we won't be able to fully develop all the subject. We will try to keep a common ground approach. Eventually, we'll focus in that lecture on the 3D aspect of computer graphics.

Just keep in mind that Computer Graphics is really a huge
domain.

Our first lecture will be to present what we will not cover...

Graphics data structures

Colour and human vision

Graphical interface design and programming

Applied geometry and modelling

Mathematics principles are something that should not change to much from one programming language to another. This is a good background to begin with. So, we will have a glimpse on algebra and geometry and more precisely, on matrix.

There are tens of way to do computer graphics. From a practical point of view, we will stay close to Java3D in the laboratory, but first, we will have a look at the various options that are available.

Through the exploration of this Java package, we will experiment most of 3D computer graphics principles.

For students that would like to go deeper in the study of computer graphics, we'll try to help them with the discovery of openGL.

Once we have seen all the main principles through Java3D use, we'll have a look at some research area in computer graphics.