eScience Lectures Notes : Lecture Introduction


Slide 1 : Lecture Introduction

Computer Graphics Lecture

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

COMP6461 / COMP4610 ... part of the Graduate Diploma (Course Code 6701)

The FEIT Industry Alliance Careers Evening is scheduled for Wednesday July 31 from 5.30-8.30 PM. 

Lecturer

Lecture contents

What the lecture is not about

Lecture organisation

Students Background

Students

Assessment

Books

Links

Readings

Web issues


Slide 2 : eScience : Computer Graphics : Lecture : Lecturer

Lecturer : Pascal Vuylsteker

E-mail : pascal.vuylsteker@anu.edu.au or pvk@vuylsteker.net

Diploma Background :

Physicist Engineer

Master 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 !

http://www.ina.fr French Audiovisual (Broadcasting) Institute

http://www.vrarchitect.net Open source tools to help web site production

http://www.ina.fr/Imagina International Conference on Computer Graphics

Conclusion : a mix of Physics, Computer Graphics, Internet

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

Other members of the eScience team

 


Slide 3 : 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 : 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 : lecture organisation

Lecture Organisation

2 hours lecture per weeks + readings

for both GradDip 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 book Java, and Rehearse and then exercise 1

The first lab cession begin tomorrow

Thursday evening (from 7 pm to 9 pm ).
Laboratories will take place in the eScience Laboratory (Room N224, CS&IT building).

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.
The aquarium will be used in case of conflict with other lectures.

Aquarium Upstairs will be used especially in case of conflict with other lecture

Withdraw time : 3rd week : you may want to withdraw until the 8th of august

 


Slide 6 : 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.

WHAT DO YOU NEED TO KNOW BEFORE YOU TAKE THIS COURSE?

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

Programming

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

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 : Students

Students / Mailing list

Common Group : esciencecg@yahoogroups.com / http://groups.yahoo.com/group/esciencecg/

This year group : esciencecg03@yahoogroups.com / http://groups.yahoo.com/group/esciencecg03/

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 pvk@vuylsteker.net. I'll forward the answer to the group if it is of general interest.

3rd / 4th / gradDip / Master :

P ID G First Name Surname email Background
COMP4610 (3rd year students) ()
             
             
             
             
COMP4610 (4th year students) ()
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
COMP6461 (eScience GradDip : 6701) ()
             
             
             
             
             
             
             
             
COMP6461 (eScience Masters : 7701) ()
             
             
             
             
             
             
             
             

No more in the course ?

             
             
             
             
             
             
             
             
             
             



Slide 8 : Assesement

Assessment

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 one : From the 6th of August to the 9th of September (1 bonus point 1 day before the due date) : 20 marks

more 2D oriented

A Group (2 people) one : From the 10th of September to the 19th of October (2 bonus point 2 days before the due date) : 30 marks

Demonstration of the work will occur on the 30th of October

more 3D oriented

1 theoretical exam in November : 50 marks

Example exam 01 / Example exam 02

 


Slide 9 : books

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!

Java

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

Mathematics

First Edition 2002 / ISBN : 1-58450


Slide 10 : links

Links

Some links for each part of the lecture

Contextual links

http://escience.anu.edu.au/links/top_computergraphics.en.html

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.

Java

The main java developer portal.

Sun Java Tutorial : http://web2.java.sun.com/docs/books/tutorial/

Java 2D

Sun Java FAQ on Java 2D : http://java.sun.com/products/java-media/2D/forDevelopers/java2dfaq.html

Sun Java Tutorial : Trail: 2D Graphics : http://web2.java.sun.com/docs/books/tutorial/2d/index.html

Java3D

Sun Java 3DTM API Tutorial
http://developer.java.sun.com/developer/onlineTraining/java3d/

and a more up to date version in

http://java.sun.com/products/java-media/3D/collateral/

 


Slide 11 : Readings

Readings

Not optional :

This week reading :

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

A Summary of Principles for User-Interface Design.

A Human-Centric Analysis of Interaction in Virtual Space

 

 


Slide 12 : Web issues

Web issues

Handouts

All handouts will be available on the eScience web site.

and as a redirection through the webct web site :

eScience : http://escience.anu.edu.au/lecture/cg/index.en.html

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

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 : http://www.w3C.org/ .

Even if we don't eventually use theses additional format during in those handout, it is interesting to have a look at them

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 : http://www.adobe.com/svg/

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 : http://www-4.ibm.com/software/network/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 13 : 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