Please
send email with suggestions/corrections to farin@asu.edu.
If you find an error, you'll get credit in this Errata page!
The date that
each correction was added is given in brackets as [mo/day/yr].
 p. 20,
Section 2.3 should be skipped because the equation P^TAP = I is incorrect. Also, the ellipse in Figure 2.5 is not accurate. For a derivation of the norm ellipse, see our lecture slides for Practical Linear Algebra. Start at slide 35  principal components analysis in the file
http://www.farinhansford.com/books/pla/material/chap16.pdf (Karen Daniels, Bob Marceau, Franck Kamayou, and Adam Russell) [11/14].
 p. 24,
Problem P1: this problem needs the ratio function. It is defined
a bit later, on p. 27. (J. Miller) [8/04].
 p. 30, eq.
(3.14): should say b[t,s] = (1s) b[0,t] + s b[1,t]. This is for
more harmony; the original is not technically wrong. (Martin Kraus)
[9/05]
 p. 31, Fig.
3.4. This figure is labeled correctly, but in order to be in better
harmony with the definitions on p. 30, the labels b[0,s] and b[1,s]
should have been b[s,0] and b[s,1]. [4/02].
 p. 65, eq
(5.21): the n/(nr)! should be n!/(nr)! (B. Ehrlich)
[9/02].
 p. 73, near
bottom: the reference to Section 11.2 should be to 10.2. (Minho
Kim) (B. Ehrlich) [9/03].
 p. 82, eq.
(6.2): j should run from 1 to n+1 instead of from 0 to n+1 (Juntao
Ye) [4/02].
 p. 109, first
eq.: there is a missing "c". (Yadong Li) [1/02].
 p. 112: reference
[48] is incorrecct. It should be: B. Fowler and R. Bartels. Constraint
based curve manipulation. IEEE Computer Graphics and Applications,
13(5):4349, September 1993. (Wei Shui Li) [7/02].
 p. 122, "u_I
is the (ri)th element of U^r_i, with i=0 denoting the first of
U^r_i's elements" should read "u_I is the (ri)th element of U^r_i,
its elements being counted starting from 0." (Minho Kim).
[9/04].
 p. 123, paragraph
after (8.3): the three intermediate points should have their superscripts
reduced by one (so that we are in accordance with (8.3)). (T. Vossemer).
[3/03].
 p. 126, after
(8.10): the expression (u_rU^0_1)/U should be (U^0_1u)/U.
(L. Fernandez) [4/02].
 p. 127, Ex.
8.3, n=1 case: the control points should be d0,d1,d2, and the domain
should be [u0,u2]. (Jed Soane) [12/01].
 Page 128:
If k denotes the step in the de Boor algorithm and for k=0 we have
points d_i^0 = d_{In+1+i}, i=0,...n, then something is wrong with
the subscripts of the knots. It says: U_i^k It should say: U_{i+1}^{nk+1}
(Javier SanchezReyes) [2/02].
 Page 129
It says: U_i^k = ... It should say: U_{i+1}^{nk+1} = [u_{In+k+i},
u_{I+1+i}](Javier SanchezReyes) [2/02].
 Pages 129,143
It says: alpha_i^k = ... It should say: alpha_i^k = u  u_{In+k+i}
/ u_{I+1+i}  u_{In+k+i} It says: for k = r+1,...,n It should say:
for k = 1,...,nr(Javier SanchezReyes) [2/02].
 p. 130, 3rd
line from bottom: d[] should be b[] (Minho Kim) [9/04].
 p. 131, after
figure 8.8: d[] should be b[] (Minho Kim) [9/04].
 p. 131, 7th
line from bottom: superscript of U should be n1, not ni. (Juntao
Ye) [4/02].
 p. 134, third
equation from the bottom: the summand argument should be 1/n b [V^(n+1)
 v_i](M. Gnuffi) [9/04].
 p. 137, 6th
line from bottom: c0,c1,c2,c2 should be c0,c1,c2,c3 (M. Bedard)
[4/03].
 p. 137, 4th
line from bottom: the reference to Fig. 8.14 is somewhat unfortunate:
that figure shows the C1 case and thus u1 should only be a double,
not a triple knot. (M. Bedard) [4/03].
 p. 139,Fig.
8.15. The point b3 should also be labeled as c0. (M. Bedard)
[4/03].
 p. 141, figure
8.17. The first and last knot should have three tick marks, not
two. (B. Ehrlich) [10/02].
 p. 144, eq
"Derivative of Bspline curve": the summation should start at i=1,
and instead of Delta d_i it should say Delta d_{i1}. (Xiaozhen
Lu) [1/04].
 p. 148, eq
(9.4): the matrix has eight columns, but should only have seven.
(J. Femiani) [9/02].
 p. 154: reference
[48] is incorrecct. It should be: B. Fowler and R. Bartels. Constraint
based curve manipulation. IEEE Computer Graphics and Applications,
13(5):4349, September 1993. (Wei Shui Li) [7/02].
 p. 156, eq.
9.12: the second row in the matrix should have all three subscripts
increased by one. (Jed Soane) [12/12/01].
 p. 182: two
displayed equations use the dot to denote two different things:
the equation in remark 3 denotes multiplication by a scalar, the
equation in 10.3 uses it to denote the dot product. (Martin Kraus)
[9/05]
 p. 184, remark
5: the term k' is not defined. It is given by (23.3) on p. 421.
(B. Ehrlich) [10/021].
 p. 193, fig.
11.2 is mislabeled. Reading from left to right, currently we encounter
A, A+,B,B+. This should be A,B,B+,A+. (Jiansong Deng)
[8/02].
 p. 201, eq.(11.26):
the rightmost vector should have as its last element a triply dotted
x, not a doubly dotted one. (Ken Tsutsuguchi) [8/02].
 p. 207, Fig.
12.2: the top point (solid) in that figure should be labeled as
bold 0 (B. Ehrlich). [11/02].
 p. 241, summation
index in eq. (13.17) should be "i". (K. Gnuffi). [9/04].
 p.261, first
three displayed equations: The terms <i> and <ni> should
be interchanges, + same for j (M. Reimers) [4/06]
 p. 261, third
displayed equation: the expression for c_k needs to start out with
the summation over i+j=k. [2/03].
 p.271, Fig.
15.3: the caption should say n=10 and m=9. (B. Ehrlich)
[3/03].
 p. 271, the
displayed equation before (15.2) is wrong. The first row matrix
should read [1i/m, i/m], the last column matrix should read [1j/n
\\ j/n], and the middle square matrix should read (row by row):
[[b_00,b_0n][b_m0, b_mn]]. (R. Patekar) [3/03].
 p. 279/280,
Exaple 15.1. The solution is wrong. For a correct version, click
here (M. Gnuffi) [01/03].
 p. 281, eq.
(15.19): the summation should start at i=1, and instead of u_ (r,n_i)
; also it should say u_(r,i). (M. Gnuffi) [01/03].
 p. 282, after
eq. (15.20): the value for K value should be (m+1)*(n+1)  1(M.
Gnuffi) [09/04].
 p. 286: after
second equation: it says "rows", it should say "columns"(M. Gnuffi)
[09/04].
 p. 295, footnote
2 says "...L+2 control points for L data points";it should say "...L+3
control points for L+1 data points"(M. Gnuffi) [09/04].
 p. 304, Figure
16.18: it says "The open point is inside", it should say "The open
point is outside" (M. Gnuffi) [09/04].
 p. 312, example
17.1, The points b_300 and b_030 should be labeled b_200 and b_020
instead (B. Ehrlich). [01/03].
 p. 319, example
17.2 refers to example 18.1. This should be 17.1 (B. Ehrlich).
[01/03].
 p. 322, caption
Fig. 17.9: the shown control points are those of only one subpatch.
(Martin Kraus) [9/05]
 p. 319, example
17.2, bottom. The factor should be n=2, not n1=2 (B. Ehrlich).
[01/03].
 p. 328, second
displayed equation: u1 = det[p,p1,p2,p3,p4] / det[p1,p2,p3,p4] should
be u1 = det[p,p2,p3,p4]/det[p1,p2,p3,p4]. (Antonio Álvaro de Assis
Moura) [09/04].
Also, the use of "det" is misleading; it should be "volume".
(Martin Kraus) [9/05]
 p. 329, Fig.
17.16. The labeling is not consistent with Fig. 17.15. For example,
the leftmost point should not be b0002 but rather b2000. The topmost
point should be b0200 etc. (Martin Kraus)
[9/05]
 p. 330, third
line: should say "construct." (Martin Kraus) [9/05]
 p. 331, Fig.
17.7: should say for s=5 and n=2. Also, the interior vertex should
only have five subscripts. The shown edges are only a subset of
all connectivities. This may be misleading, but including all connectivities
would result in a cluttered figure. (Martin Kraus) [9/05]
 p. 337, second
displayed equation: p^dot should be replaced by D_d. Also D_d(u)
should be replaced by D_d w(u). (B. Ehrlich). [02/03].
 p. 337, fourth
displayed equation: D^(rj)_d(u), the last term, should be replaced
by D^(rj)_d b^n(u). (B. Ehrlich). [02/03].
 p. 347, eq.
(18.7): every subscript "L" should be replaced by "P" (M. Gnuffi)
[09/04].
 p. 370, before
last displayed equation: the references to (5.32) and (5.33) need
to be replaced by (6.24) and (6.25) (TW. Kim). [10/03].
 p. 371, In
the two displayed equations for h^0_i and h^n_i, replace h^0_i by
h^n_i and vice versa. Same for the v^0_i and v^n_i in the next two
equations. [02/03].
 p. 373, section
20.4 Comments between parathensis for "p0_hat ... pn_hat" and "r0
... rn" are swapped. The p_hat row should have the comment: "(from
the degree elevated triangular patch)", and the r row should have
the comment: "(from the tensor product patch") (M. Bedard).
[02/03].
 p. 374, end
first paragraph: alpha0 and beta0 should be lambda0 bar and lambda1
bar. Also, alpha1 and beta1 should be lambda1 bar and lambda2 bar.
(Martin Kraus) [9/05]
 p. 379, (21.3):
the third term should be A^2D, without the (1) superscript. (B.
Ehrlich) [04/03].
 p. 379, after
(21.3): the displayed equation, middle term, should read E\LamdbaE^{1}E\Lambda
E^{1}. (M. Bedard) [05/03].
 p. 381, 2a:
V^(1)_i should be v^(1)_i (bold v).
(Martin Kraus)
[9/05]
 p. 384, (21.8):
e^i_j should be e^{i+1}_j (B. Ehrlich) [04/03].
 p. 384 (21.8): equation is incorrect. It should be
v^(i+1) = [(n3)/n] v^i + [1/n](average of f^(i+1)_j) + [2/n](average of e^(i+1)_j).
(Nathan Carter)
[05/14]
 p. 385, the
displayed matrix equation has two entries e^{i+1}_4 on the left
hand and also two e^i_4 on the right side. The first sub 4's in
both cases need to be sub 3's. (James Doebbler)
[04/05].
 p. 395 eq (21.16):
1/2 needs to be replaced by 1/2. (Martin Kraus) [9/05]
 p. 406 before
Section 22.4: the reference to Section 14.10 should be replaced
by 16.3., (M. Gnuffi) [09/04].
 p. 452: reference
[48] is incorrecct. It should be: B. Fowler and R. Bartels. Constraint
based curve manipulation. IEEE Computer Graphics and Applications,
13(5):4349, September 1993. (Wei Shui Li) [7/02].
 References:
[543] should have year 1959, not 1953. (A. Eigenwillig)
[12/05].
