The following errors have been reported to the author or have
been found since the book was publisehed.

Thank you to everyone who reported an error

Page 11: Fig 2.3

e=epsilon t=theta p=phi PI=pie

The algorithm needs to be written as:

if(X*X + y*Y < e) { r=z; t=0; p=0; } else{ r=sqrt(x*x + y*y + z*z);
p=arcsin(sqrt(x*x + y*y)/r); if(y > 0){ p=atan2(y,x); } else{
p=2*PI+atan2(y,x); }

This modification allows for phi to lie in the range [0 - 2PI] as is
assumed in the rest of the book.

Page 20: There is a mix up in the alpha and beta parameters.

Line 5 should read .....Snell's law gives a value for ALPHA which
is:

ALPHA = ....

6 lines up; The line should read... the meaningful value for BETA is
substituted...

Page 22: Figure 2.12 The U and V axes are mixed up - the axis
labeled u should be v and vice-versa.

Page 23: (algorithm step 3) line 5 it should be alpha + beta <=
0.9995 and ont alpha*beta.

Page 30: Figure 2.15 last transformation should read "Rotate round z
by PI/4 " (not PI/2)

Page 47: Line 10. The expresssion for K0x should equal X(i) (not
X'(i+1) )

Equation 2.26 is also incorrect. The RHS should be - 1/2* x(i-1) +
1/2 * x(i+1)

Page 125: The expression for cos(theta) just above Fig 4.36 should
use a normailsed vector for (p-Pl) and so should be divided by
|p-Pl|

Page 126: 8 lines up the experssion for b should be:

b = -(p-Pl)/|p-Pl| - .....

Note the extra "-" before the first term.

Page 127: Line 4. The equation for Is should be (2cos^2(alpha)-Im)^m
note the "alpha" not "alpha/2"

Page 132: The expression for I(i,i) should be Io + alpha(I1 = I0) +
beta(I2-I0)

Page 134: The matrix expression for [nx,ny,nz] should begin by =
n(i,j) + [ ....

This page lists the errata in the first edition.