Artificial Intelligence for Games, 2nd edition
By Ian Millington and John Funge
Published by CRC Press/Taylor and Francis Group, 2009
ISBN 9780123747317

Collision Detection in Interactive 3D Environments
By Gino van den Bergen
Published by Morgan Kaufmann/Elsevier, 2004
ISBN 155860801X

The book has a website (click on menu
entry "Interesting").

Examination

The exam is oral, with grades on the 7-point marking scale. A
programming project must be passed in order to
attend the oral exam. The deadline for the project is December 22.

Reading guide for the Guha book when preparing for the oral exam: skip
all explanations of OpenGl, and skip exercises. Do read all the
teacher's notes.

The exam dates are January 5 and January 12.

At the oral exam, you will draw an exam
topic delineating a part of curriculum which you are to present in the
first part of the examination. More details of the exam form are
described below the list of exam topics.

There is a spørgetime (session for asking questions on the exam and the
curriculum) Wednesday, January 3, at 10:15 in
U177.

Introduction to course (slides). Some
elements of 3D graphics and OpenGL
(slides).

The slides. Chapter 2 in the textbook. Chapter 3 is not curriculum
for the oral exam (and will not be covered in depth at the lectures),
but is useful to read with respect to the programming.

Rotations specified as a change of coordinate system, and its use in the
viewing transformation. Affine transformations.

The lecturer's notes on change of
coordinate system and Section 4.6 in the textbook (read lightly). Sections
5.2 and 5.4.4-8. No proofs of sections 5.2, 5.4.5 and 5.4.7 are
curriculum, but you should know the contents of the statements. These
sections are summarized in the
lecturer's informal notes
(in these the proofs are also not curriculum (even if the notes say
otherwise)).

Start on derivation of the perspective projection matrix.

Section 19.1.3. An alternative presentation is pages 81-82 in 3D Game
Engine Design by David H. Eberly, Morgan Kaufmann, 2001 (handout) and
the lecturer's notes (new typed version
version, old handwritten
version).

Handout of the project. More on light and shading
(slides).

Sections 11.1-9, 11.11.1-2, 11.12. 11.14 in the textbook.
In the course, we only cover the (Blinn-)Phong light model. Many others
models (as well as empirically based reflection data sets) exists, see
Section 11.13 or (not curriculum) the
Wikipedia
page on BRDFs for overview and directions. Also, the paper (not
curriculum)
Experimental
Validation of Analytical BRDF Models (Ngan, Durand, Matusik,
SIGGRAPH 2004) is a nice read with good introductory value. In
particular, it explains
(presentation
slides of paper, page 44-52) better than the textbook (pages 420-22)
why using the half-vector in the specular term is a better choice than
using the reflection vector (in particular, the claim of Example 11.3 in
the textbook that they are essentially equal is only true when the eye
vector lies in the plane determined by the normal vector and the light
vector). Empirically, using the half-vector is in better correspondance
with real life - specular reflections at oblique angles are not round
(which turns out to be the case when using the reflection vector), but
vertically elongated (which turns out to be the case when using the
half-vector), as can be seen on
any
photograph of a harbor at night.

Chapter 12 (excluding Section 12.4.2), Section 13.6 (actual math of
13.6.1 is not curriculum, the method in Section 13.6.2 is both simpler
and much easier to create textures for). Sections 13.9-10 (actual math
of 13.9 is not curriculum - think instead of the normal vectors of
Figure 13.27 being stored in a texture).

Various smaller subjects (slides). Change of
normal vectors during transformations. Barycentric coordinates.

Sections 13.1-5. Sections 13.7-8. Section 4.8,
Chapter 9. Section 6.2. Sections 11.11.5-6. Sections 7.1-3. The
lecturers notes on barycentric
coordinates is an alternative to Section 7.2.

From SIGGRAPH
course on Physically Based Modeling:
slides and
notes
(derivation of the midpoint method is not curriculum) on Differential
Equation Basics Particle Dynamics,
slides and
notes
(Section 6 is not curriculum) on Particle Dynamics.
Notes by Chad Berchek on elastic collisions of
balls in 2D (in 3D, simply change the separating line to a separating
plane in the last half of the notes). The math left out in the
derivation in the 1D part in the first half of the notes can be found in
these notes by Patrick Rutkowski (not
curriculum).

Handout (in Blackboard entry for the course):
Collision Detection in Interactive 3D Environments
(Gino van den Bergen), Section 5.2 (pages 184-189 are not curriculum).

Collision detection: end of spatial partitioning, model partitioning.

Handout (in Blackboard entry for the course):
Collision Detection in Interactive 3D Environments
(Gino van den Bergen), End of Section 5.2 (pages 184-189 are not
curriculum). Section 5.3 (pages 203-206 can be read lightly, and
Section 5.3.4 is not curriculum).

Handout (in Blackboard entry for the course): Collision Detection in
Interactive 3D Environments (Gino van den Bergen), Chapter 3. For time
reasons, we covered only 3.1 to 3.3, and only this is
curriculum. [Reading the parts of 3.4 not dealing with polygons
(polygons are not needed, as they can be converted to triangles) is
suggested if you would like to get full coverage of testing relevant
primitives].