Foundations of 3D Computer Graphics


Major Errors

Chapter 5

Page 39: Note, the matrix, "E", computed here is the inverse of the matrix often called the "lookAt" matrix in many graphics contexts.

Page 39: The computation for the coordinate vectors should be

z = normalize(p - q)
x = normalize(u × z)
y = (z × x)
normalize(c) = c / sqrt( c21+ c22+ c23)

Chapter 7

Page 62: Right invariance, in contrast, means that the interpolation of an object does not change ...

Chapter 12

Page 114: If the three vertices are counterclockwise in the plane, then c will be in the +z direction. Otherwise, it will be in the -z direction.

Minor Errors

The book often uses the word "degrees", when it should be using "radians".

Chapter 1

Page 3: should read: "known as OpenGL "

Chapter 3

Page 11: "if there exists non-zero scalars" => "if there exists scalars,, not all zero"
Page 23: "Similar to the case of linear transform ..." => "Similar to the case of linear transformations ..."
Page 25: The third row of the rightmost matrix should read "i j k 0", not "h i j 0".

Chapter 4

Page 29: "this does not fully specified ..." => "this does not fully specify"

Chapter 6

Page 45: "it is useful to return the identity matrix from the default constructor." => "it is useful for the default constructor to set the matrix as the identity."
Page 46: "any face that is backfacing to the eye." (Add period)
Page 46: "We use a global variable "Matrix4 eyeRbt" to represent the rigid body matrix E that relates the object's..." => "We use a global variable "Matrix4 eyeRbt" to represent the rigid body matrix E that relates the eyes's ..."

Chapter 7

Page 68: "(q1 * inv(q0)" => "(q1 * inv(q0))"

Chapter 14

Page 128: "simulate this Process" => "simulate this process"
Page 134: "toLight = normalize(toLight);" is unnecessary

Chapter 15

Page 128: "2r-1" => "2*r-1"

Chapter 19

Page 176: "The lasso curve is parameterized "
Page 183: Note that the original color matching experiments used the wavelenghts: 436, 546, 700, not 435,545,625.
Page 194: The funny symbols in figure 19.10 should just be ellipses (three dots).