Slide 1 : 1 / 16 : Lecture Introduction
Slide 2 : 2 / 16 : Lecturer
Diploma Background :
... 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
Slide 3 : 3 / 16 : 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.
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
Our first lecture will be to present what we will not cover...
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.
Slide 4 : 4 / 16 : What the lecture is not about
Slide 5 : 5 / 16 : Lecture organisation
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.
For the first week, find any good book on Java, and Rehearse and then exercise 1
The first lab cession begin tomorrow
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.
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
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?
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.
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.
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
|Software Engineering, Computer Science, Mathematics, geology...|
|To fill in, if your email is different from <univID>@anu.edu.au|
|First Name(s)||Second Name(s)||Lastname||Year||Background|
|u3357199||Lucas||Ashley||Maxwell||3rd||BIT, Math, 3D OpenGL|
|First Name(s)||Second Name(s)||Lastname||Year||Background|
|u3993324||Kokila||Chandrasekaran||Gdip||Bachelor of Computer Applications|
|u2515308||Bhaskara||Narasimha Raju||Dantuluri||M||Bsc (CS, Math, Phys.)|
|u3993209||Qi||Fan||M||B of omputer Software|
|u2521553||Nam||Nhi||Ha||M||BS of IT|
|u2583615||Navish Kumar||Hassan Shanbog||M||BE(Comp Sc)|
|u2535995||Shafquat||Zaman||Khan||Gdip||BS. Chem Engnr|
|u2536908||Stephanie||Ann||Miller||M||BS Humanities (Media Studies) MIT|
|u4068351||Eric||Ochieng||Muya||M||Univ. Technology Sydney|
Slide 8 : 8 / 16 : Assesement
Assessment is based on two programming assignments, nominally in Java, and one theoretical exam.
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
more 2D oriented
Demonstration of the work will occur on the 29th and / or 30th of October
more 3D oriented
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
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.
A reference on that subject.
Second Edition, 1993 / ISBN 0-201-12110-7
Third Edition, 2000 / ISBN : 0 201 39855 9
First Edition, 2001 / ISBN : 0201-61921-0
Very practical one
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
Format: Paper, 266 pp.
First Edition 2002 / ISBN : 1-58450
Slide 10 : 10 / 16 : Exercises
Slide 11 : 11 / 16 : Readings
Slide 12 : 12 / 16 : Computer Gaphics Readings
A Summary of Principles for User-Interface Design.
by Talin ( Extract from http://www.sylvantech.com/~talin/projects/ui_design.html )
HMDs, Caves & Chameleon : A Human-Centric Analysis of Interaction
in Virtual Space
by Bill Buxton and George W. Fitzmaurice ( http://www.billbuxton.com/VRtaxonomy.html )
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 ( http://www.extremetech.com/print_article/0,3998,a=2674,00.asp )
The Mathematics of the 3D Rotation Matrix
by Diana Gruber : ( http://www.makegames.com/3drotation/ )
Generic 3D Ball Animation Model for Networked Interactive VR Environments
By Hansrudi Noser, Christian Stern, Peter Stucki, Daniel Thalmann
Slide 13 : 13 / 16 : 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 : http://web2.java.sun.com/docs/books/tutorial/
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
Sun Java 3DTM API Tutorial
and a more up to date version in
Slide 14 : 14 / 16 : Web issues
All lecture notes are to be available on the eScience web site.
slightly irrelevant remarks : what is happening with that
1) http:// 2) escience 3) .anu.edu.au 4) :80 5) cg 6) /index.html 7) : Redirection from an HTML file
and as a redirection through the webct web site ...
Table of content, print link, link link, navigation
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.
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 in the present lecture notes, it is interesting to have a look at them
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.
has released a good plug-in for SVG.
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 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
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
Following 30th Oct 2002 seminar "Human Ecosystems Modelling with Agents".
Dr Pascal Perez (<firstname.lastname@example.org> ) like to announce the new lecture offer.
Semester 2 - 2003
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 ...
Then I would be able to postpone the answer to the next week :-)
Slide 17 : Student Projects