eScience Lectures Notes : Lecture Introduction

Slide 1 : 1 / 16 : Lecture Introduction

Computer Graphics Lecture

"What is essential is invisible to the eye" - Antoine de Saint-Exupery

COMP6461 / COMP4610 an eScience course

Slide 2 : 2 / 16 : Lecturer

Lecturer : Pascal Vuylsteker

E-mail : or

Diploma Background :

  • Physicist Engineer

  • Masters in Computer Graphics (DEA)

... But no special diploma in English speaking

Work Background : Internet site manager

You will find on my CV that I have learnt Basic, Fortran, Pascal, Prolog, Java, Shell... that is right, but what I have been really using during the last years was Perl ! French Audiovisual (Broadcasting) Institute Open source tools to help web site production International Conference on Computer Graphics

Conclusion : a mix of Physics, Computer Graphics, Internet ... and Maths !

Plus... Contact with France ... Project opportunities ?

Other members of the eScience team and DCS

Slide 3 : 3 / 16 : Lecture Contents

Computer Graphics Lecture Contents

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.

The extend of computer graphics

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...

The mathematics and main theoretical CG concepts

Graphics programming algorithms
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.

The different hardware/software solutions

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.

Discovery of main issues of 3D development with Java3D

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.

Some research subjects, data visualisation.

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

Slide 4 : 4 / 16 : What the lecture is not about

What the lecture is not about...

Using Animation Master, 3dsMax, Lightwave, Maya, Bryce, Blender, Softimage, Rhino, Merlin3D, Carrara, CorelDraw, Zbrush, Strata3D, Cinema4D, Electric Image, Amapi 3D, Inspire 3D, Form Z, Ray Dream, Ashlar Velum, Poser, AutoCAD, trueSpace5 3D software...

Test Maya for free !

Or go to either

Slide 5 : 5 / 16 : Lecture organisation

Lecture Organisation

2 hours lecture per weeks + readings

University policy about student workload : 10-12 hours a week

for both GradDip, Masters 3rd, 4th and Honour's students

Lectures will take place in the Seminar Room, (Room N101, CS&IT building).

Wednesday from 12 am (noon) to 2 pm.

2 groups of students

For the first week, find any good book on Java, and Rehearse and then exercise 1

The first lab cession begin tomorrow

3 places to meet

Lab is available. Let's have a list of the students with a generated password

Indeed, that is not totally right : we may happen to use 2 other places
One is already known by gradDip student and that could be used for some lectures with a small number of participants.

Withdraw time : 31 August 2003.

But please do it before ...

A student may withdraw without incurring financial penalties up to and including the census date which is 31 August 2003.
See The Student Enrolment and Administrative Procedures (SEAP) for more details on that subject.

Slide 6 : 6 / 16 : Students Background

Students Background

From Prerequisites to Assumed Knowledge ... the meaning remains the same : what you should know if you want to understand important parts of the lecture, and have a chance to get a high mark at the exam and at the assignments.


Maths : Linear Algebra, Geometry, Differential equations

Everyone taking this course is expected to have taken courses in both calculus and linear algebra.

The "Advanced Mathematics (T)" curriculum of the Narrabundah College is a good presentation of what you could rehearse.

The sort of mathematical tools we will use during this lecture are the following :

Because "Matrix" is not only a great Film !

But there will be one lecture to remind you of what you need to know


This part is quite obvious but worthy to remind : this is not a course to learn how to use "of the shelves" tools (Maya, 3DS...), but to understand computer graphics and to program computer graphics API (Java3D). So you are expected to know how to program and how to develop an algorithm.

Java or any other C like Object Oriented Programming language

Perl is a good choice :-)

You are expected to be able to design a GUI using SWING and Java2D and to learn Java3D half by yourself, half through summaries of some of its part during lectures and half by doing the proposed exercises. And you are expected to note that there is a mathematical bug in the previous claim.

All projects will be written in the Java programming language. If you do not already know Java, then you are expected to be familiar with at least one of the following programming languages: C, C++, or Pascal and Object Oriented Programming. If you have not seen Java before then you might want to consider buying one of the many primers available on the subject.

A very good introduction to Java is available in the form of the lecture COMP6700 and COMP6442.

And this is a good transition to the slide on books ...

Slide 7 : 7 / 16 : Students

Students / Mailing list

Common Group : /

This year group : /

These group are moderated group. If you want to send information or question to the group, send it to that email (I'll pass it if it is CG related stuff). If you want to ask some question to the lecturer, send your question to I'll forward the answer to the group if it is of general interest.

4610 : 3rd, 4th, Honors, ?  /  6461 : gradDip, Master, ? : 9 / 10 / 5 / 4 / 6 / 18 / 3 : 28 + 27 = 55

Background :   
Software Engineering, Computer Science, Mathematics, geology...
eMail :   
To fill in, if your email is different from <univID>


First Name(s) Second Name(s) Lastname Year Background  
u3256207 Stephen Beeson 3rd BIT  
u4013417 Daniel Michael Belacic 4th BIT/Comm  
u4023483 Andrew Robert Brightman 3rd BSEng  
u3353543 Kurt Johann Burdack 3rd BIT  
u3221948 Nathan Jon Cattle  
u3582879 Neil Coggan 3rd Production, BIT  
u3287745 Payten Stephen Giles 4th BSEng  
u4025464 Monish Grover 4th BSEng  
u3298888 Torsten Scott Herbst 4th Bcomm/BIT  
u2523734 Frederik Deniz Koellhofer 4th Bioinformatics  
u3225101 James Allan Lloyd  
u3027570 Robert McAuliffe Hon BIT  
u3357098 Marco Kar-Ho Mak 3rd BIT  
u3357199 Lucas Ashley Maxwell 3rd BIT, Math, 3D OpenGL  
u3293091 Mathi Nagarajan 4th BSEng  
u4009155 Katherina Tien Niu Ng 4th BSEng  
u4036479 Tara Jane O'Brien 4th BSEng  
u3293103 Terry O'Neill  
u3291527 Damon Searle Hon  
u3358948 Chantal Georgina Simakoff-Ellims 3rd BIT  
u3291705 Scott Maxwell Siver 4th BIT  
u3058070 Timothy Charles Slater 3rd BIT  
u3293139 George Stewart 4th BSEng  
u4036505 Adam Michael Stone 3rd BSci  
u3177716 Jason Treseder Hon BCs  
u4022758 Dimitrios Tsifakis Hon BSc  
u3293204 Pasindu Bhadra Wijayatilaka  
u4066142 Yan Wang Hon BIT  


First Name(s) Second Name(s) Lastname Year Background  
u3993324 Kokila Chandrasekaran Gdip Bachelor of Computer Applications  
u2512251 Ye-Zen Chang Chen M Math  
u3234186 Catherine Elizebeth Cuteri Gdip  
u2515308 Bhaskara Narasimha Raju Dantuluri M Bsc (CS, Math, Phys.)  
u3993209 Qi Fan M B of omputer Software  
u2503062 Xukang Feng M BSEng  
u2521553 Nam Nhi Ha M BS of IT  
u2505067 Mohd Hilmi Hasan M BIT  
u2583615 Navish Kumar Hassan Shanbog M BE(Comp Sc)  
u2507921 Yi-Jeng Ho M  
u2515967 Ashutosh Iddya M B.ECompSc  
u2535995 Shafquat Zaman Khan Gdip BS. Chem Engnr  
u2513671 Daniel Johannes Kiviet Gdip Chemistry  
u3308881 Elizabeth Roslyn McDonald Gdip Env Science  
u3981228 Stuart James McDonald  
u2536908 Stephanie Ann Miller M BS Humanities (Media Studies) MIT  
u4068351 Eric Ochieng Muya M Univ. Technology Sydney  
u2519801 Lin Qiao M BSEng  
u2513606 Shakti Raj Gdip BE  
u3992397 Siddarth Rallapalli Gdip B.Com  
u2550921 Steven Michael Ring M BSc  
u3986256 Jiang Jun Tang M  
u2570024 Gavan Michael Thomas  
u2527897 Manoj Kumar Venumuddala M B.Tech  
u3996509 Feng Wang M Computer Engineering  
u3928951 Jiazheng Wen  
u2505408 Enlai Yi M Computer Science  
u2528887 Hui Zhu M  

Slide 8 : 8 / 16 : Assesement

Assessment : 20 + 30 + 50

Assessment is based on two programming assignments, nominally in Java, and one theoretical exam.

2 programming assignments

The assignments are marked by demonstration and by submission of well commented code.

When you are writing those comment, try to imagine yourself reading your code in ten years ... and try to avoid to much OZ slang

A Individual 2D one : From the 6th of August to the 9th of September : 20 marks : 1 bonus mark if delivered 1 day before the due date, 10 % late penalty on the mark per day late.

more 2D oriented

A Group (2 people) 3D one : From the 10th of September to the 19th of October : 30 marks : 2 bonus mark if if delivered 2 days before the due date, 10 % late penalty on the mark per day late.

Demonstration of the work will occur on the 29th and / or 30th of October

more 3D oriented

1 theoretical exam in November : 50 marks

Example exam 01 / Example exam 02

Final Result : to get distinctions (C, D, HD) you need to be good both in programming AND Maths and theory

If "you fail the assignment part" Exclusive OR "you fail the exam part", you still may pass, but you won't get any distinctions.

Note about dictionaries

The Examinations office now have a form which students are required to complete and obtain the necessary permission to use a dictionary in an examination. This replaces the old method of examiners having to print individual letters for students.
Forms are available from the front office counter. Students are required to obtain signature(s) from the relevant examiner(s) then take the completed form together with their dictionary to the Examinations Office. The dictionary is left at the examinations office and returned to the student at the examination. Students need to take their dictionary and approval to the examinations office 24hrs prior to the scheduled examination.

Slide 9 : 9 / 16 : Books


Official CG lecture textbook

A really good introduction book on CG at large.
Second Edition, 1997 / ISBN 0-13-530924-7

This lecture is mainly inspired from that book, the main difference is that we will explore the same concepts in Java, when the author did it in Fortran and C

From quite trusty source, it looks like that book is the one that has been used Visual Python developer Guido van Rossum to develop the software graphic pipeline of VPython!


An all new one, with a part on Java3D.

Computer Graphics

A reference on that subject.
Second Edition, 1993 / ISBN 0-201-12110-7

3D specific.
Third Edition, 2000 / ISBN : 0 201 39855 9

Game oriented.
First Edition, 2001 / ISBN : 0201-61921-0

Very practical one

Java 3D

An introduction book to Java 3D. Not really good, but at least, it exists.

A large part of that book is on user interface principles and on their categorization. The second part only is on Java3D

Copyright: 2002
Format: Paper, 266 pp.
ISBN: 0-13-034076-6


First Edition 2002 / ISBN : 1-58450

Slide 10 : 10 / 16 : Exercises


Not optional :

This week exercise :

Following weeks ...

Slide 11 : 11 / 16 : Readings


Not optional

This week reading :

Following weeks (the reading dates are not yet been fixed):

Slide 12 : 12 / 16 : Computer Gaphics Readings

Computer Graphics Readings

The texts within the readings brick

A Summary of Principles for User-Interface Design.
by Talin ( Extract from )

HMDs, Caves & Chameleon : A Human-Centric Analysis of Interaction in Virtual Space
by Bill Buxton and George W. Fitzmaurice  (  )

Mathematical fundamentals of computer graphics
Chapter 1 of  "Watt, A. (2000). 3D Computer Graphics
Third Edition. England, Essex: Addison-Wesley."

The Graphics pipeline
Chapters 5,6 of "Watt, A. (2000). 3D Computer Graphics
Third Edition. England, Essex: Addison-Wesley."

ExtremeTech 3D Pipeline Tutorial
By: Dave Salvator (,3998,a=2674,00.asp )

The Mathematics of the 3D Rotation Matrix
by Diana Gruber : ( )

Generic 3D Ball Animation Model for Networked Interactive VR Environments
By Hansrudi Noser, Christian Stern, Peter Stucki, Daniel Thalmann

Slide 13 : 13 / 16 : Links


Some links for each part of the lecture

Contextual links

Main links

An open minded list of links

Yet Another Yahoo

The Massachusetts Institute of Technology.

MIT has a great reputation in research, and especially, in computer graphics and virtual reality areas. This link points to computer graphics course because lots of material of this lecture is coming from there.

To be more explicit, a good part of the lecture notes I use are taken in whole or in part from Leonard McMillan's Fall 1996 COMP 136 lecture notes. I have modified them to meet our needs this semester. Leonard did a great job with Java applets to demonstrate different algorithms and approaches.


The main java developer portal.

Sun Java Tutorial :

Java 2D

Sun Java FAQ on Java 2D :

Sun Java Tutorial : Trail: 2D Graphics :


Sun Java 3DTM API Tutorial

and a more up to date version in

Slide 14 : 14 / 16 : Web issues

Web issues


eScience :

shortcut : escience/cg

All lecture notes are to be available on the eScience web site.

The final handouts should be available, at the very latest, the Friday following the lecture.

slightly irrelevant remarks : what is happening with that shortcut ...
1) http://   2) escience  3)  4) :80 5) cg 6) /index.html 7) : Redirection from an HTML file

and as a redirection through the webct web site ...

Some tips on who to use the web site...

Table of content, print link, link link, navigation

CSS : Cascading Style Sheet

CSS is the best way to change the look of a web page without touching to its content. It helps to deal with Accessibility issue. The idea is that text content is not corrupted by visual formatting.

Be sure that your web browser accept CCS. Netscape (> 4) and IE (>= 5) should be OK. Go to the W3C web site to check the list.

I will be using CSS in order to use the same document for slides, handouts et even my lecture notes. The differences will be done only by the application of different Style Sheet on the same web pages.

Additional Formats

Both following formats are based on XML and will perhaps be used in the handouts.

They are both new one on the web in the sense that they are not yet set by default in main browsers installation. Nevertheless, good Plug-Ins already exist to visualise that formats into web pages. To learn more about web standards and XML stuff, check the W3C web site : .

Even if we don't eventually use theses additional format in the present lecture notes, it is interesting to have a look at them

From PNG to SVG : Scalable Vector Graphic

SVG is a challenger to Flash and Shockwave, the Macromedia format. Although SVG will
add many capabilities that are not directly available in Flash, by far the biggest difference between Flash and SVG is that the former is proprietary and the latter is public.

Adobe :

has released a good plug-in for SVG.

MathML : Mathematics on the web

MathML is an XML application for describing mathematical notation and capturing both its structure and content. The goal of MathML is to enable mathematics to be served, received, and processed on the Web, just as HTML has enabled this functionality for text.

IBM techexplorer :

IBM is providing a plug-in for MathML. Not only this plug-in will allow you to visualise MathML, but techexplorer enables the display of TeX, LaTeX and MathML documents and the publishing of interactive scientific material on the Web. Version 3.1 includes full support for MathML 2.0...

Slide 15 : 15 / 16 : Suggestion to Art students

Suggestion to Art students

Art students, especially those coming from ACAT, could be interested in the following courses from the Department of Computer Science, eScience group. Note that those 3 courses have to be taken in the given order, and that it is quite difficult to do both COMP4610 and COMP6443 the same year. Note eventually the Assumed Knowledge in Maths

Another suitable option could be to begin with course

Suggestion to All Students

Following 30th Oct 2002 seminar "Human Ecosystems Modelling with Agents".
Dr Pascal Perez (<> ) like to announce the new lecture offer.

Modeling Human Ecosystems with Agents (MHEA)

Semester 2 - 2003
Unit Outline
Societies and ecosystems, are inherently unpredictable as a whole. Their futures are not determined. Their global behaviours emerge from their local interactions in complex, historically contingent and unpredictable ways. It may not even make sense to talk about prediction in relation to these highly non linear systems. In fact, while prediction may be possible with very simple systems, more complex adaptive systems call for exploration. Development of the “multi-agents systems” (MAS) approach is closely related to the problem of complexity (multiple scales and organization levels, multiple agents and viewpoints, recursive interactions) and the related search for simple representations of the real world through modelling.
The objective of the course is to provide a clear understanding of the possibilities (and limits) offered by the MAS for studying Human Ecosystems. The course is structured around actual case studies and is equally divided between academic lectures, computer demonstration and training. Expected benefits for the students are: (i) to introduce MAS applications to Human Ecosystems studies, (ii) to enable participants to develop their own simple MAS application, (iii) to identify future opportunities for integrating MAS in anthropological research.

Slide 16 : 16 / 16 : Questions, Feedback ...

Questions, Feedback ...

2 hours a week

During the lecture

At the end of the lecture

For the tricky ones

Then I would be able to postpone the answer to the next week :-)

Right after the lecture

For individual ones

At any time, by mail :

On Wednesdays from 1500 to 1630 in my office (CSIT, N241)

For the projects, on Fridays from 1500 to 1630, by appointment

Slide 17 : Student Projects

Student Projects

Main projects

External proposition

Various others

Projects in France

If you are interested in doing your project in France, I have good contact with the following institutions