
The
Essentials of CAGD
by Gerald
Farin & Dianne
Hansford
published by AK
Peters, Ltd. 2000
248
pages, ISBN: 1568811233
New print run available 2013 (Look for CRC Press as the publisher)
 Errata has been incorporated




Errata
Please email suggestions
or corrections to dianne@farinhansford.com.
If you find an error, we'll give you credit by including your name/link
in this Errata page!
The errata entries are
ordered by page number and the date that each correction was added
is given in brackets as [month/day/year].
In 2013, a new printing will be released and the errata below should be fixed in those books. See the copyright date to determine which version you have.
If you find errors in this new printing, please pass them on to us, and we will create an errata page for this new version of the book.
Revised
1 Sep 2016

Errata entered after September 1, 2016
If your copy of the book was printed in 2013, then please correct the following items in your book.
Page 
Erratum 
Date 
8 
The shear matrix example is actually more than just a shear. A simple shear could have column vectors [1, 0]^T and [3, 1]^T. 
9/1/2016 
109* 
In Example 7.4, p_4 should have zcoordinate 0, not 1 as printed, in order to result in the given solution. 
10/24/2017 
113* 
Chapter 7, Exercise 8:
Problem should refer to Example 7.4
Found by: Sang Hun Son at SNU 
10/24/2017 
215* 
Appx A, Solutions to Exercises; Ch 7, Exercise 3.
The solution matrix should be the transpose of the given matrix.
Found by: Sang Hun Son at SNU 
10/24/2017 
215* 
Appx A, Solutions to Exercises; Ch 7, Exercise 8:
The x and y coordinates of the solution are the same as those in Example 7.4.
The zcoordinates should be 1s on the diagonal points and 0s on the offdiagonal points.
The "Reason" is incorrect.
Found by: Sang Hun Son at SNU 
10/24/2017 
* = page number from 2000 printing. (I don't have a new printing!) 
Errata entered before September 1, 2016
If your copy of the book was printed in 2000, then please correct the items above and the following items in your book.
If your copy was printed in 2013, then this errata should be corrected in your book.
 p.
xii, CAGD Journal link needs to be changed to http://www.journals.elsevier.com/computeraidedgeometricdesign/
[ 7/5/2012]
 p.
xii, Update book's website to http://www.farinhansford.com/books/essentialscagd/index.html
[7/5/2012]
 p.
2, In order to make Sketch 1 coincide with the text, change
the text as follows. Change the coordinates of the points
q and p to q = [1 2 4]^T and p = [1 2]^T. The next sentence,
which starts as "If we .." should read "If we want to refer
to a particular component, we denote it by q_x, q_y, q_z.
In our example, we would have p_x=1 and p_y = 2.
[7/5/2012]
 p.
7, after eq. (1.3): the vector v is an element of the linear
space R^3, not of the affine space E^3. [10/28/01]
B. Ehrlich

p. 8, eq. (1.4): the determinant needs to be multiplied
by a factor 1/2. This applies to the following equation
too. [9/10/01]
O. Mahmood

p. 10, eq. (1.9): the volume needs to be multiplied by a
factor 1/6. Thus value 12 in subsequent Example really is
2. [4/14/02]
K. Baker
Errata clarification: The errata does not clearly state that
the determinant at the bottom of the page also needs a factor
1/6. (The result of this determinant is 12/6 = 2.
[7/5/2012]

p. 11, Exercise 6: the answer is 9/2, not 9. [9/10/01]
Found by O. Mahmood
 p.18: The
vol(p,q,r,x) equation needs a factor of 1/6 times the determinant
[7/5/2012]

p. 21, example 2.6: the point p_6 is listed twice in the
point list, once would do. Triangle 0 has only two neighbors,
not three as stated in the text. [9/10/01]
Found by O. Mahmood

p. 40, sketch 28: the factor of a2 needs to be 1/3, that
of a3 needs to be 1. [4/24/02]
Found by Tae Seong Kim
 p.
41, exercise 3: the point on the curve is (44/64, 36/64).
[1/27/12]
Found by Leonardo Brito
The derivative vector must be multiplied by 3. [7/5/2012]

p.51, Sketch 31: The curve sketch is inaccurate. The max yvalue should be at [3,3/2]^T. [9/30/2015]

p. 46, Example 4.1: the second derivative has a factor n(n1),
which in this case is 6, not 3. Thus the factor 3, which
appears, has to be replaced by a 6. The final result is
correct, however. [10/1/01]
Found by B. Ehrlich
 p.57,
Exercise 1: URL should be replaced by http://www.farinhansford.com/books/essentialscagd/essbookdownloads.html.
Then download Postscript Figures (a zip file of Postscript
files). Figure 4.4 is called decassol.ps.
[7/5/2012]

p. 59, Sketch 33. The caption should say "cubic curve" instead
of "cubic Bezier curve". [2/13/01]
Found by V. Zafiris

p. 67, Figure 5.3. A uniform parametrization was used to
generate this figure. [4/14/02]
Found by James Greene, Arizona State University

p. 68, 3rd line from top. Replace "1+1" by "l+1". (meaning
letter "l" plus number "1") [4/4/01]
Found by V. Zafiris

p. 68, eq. 5.18:. Replace "t_P" by "t_l". [4/4/01]
Found by V. Zafiris
 p.68,
The sentence that begins with "If desired …" should be changed
to "When constructing a curve with Bernstein polynomials,
it is advantageous to normalize the parameters by scaling
them to live between zero and one:" (Equation at end of
sentence remains as is.) [7/5/2012]

p. 70, Problem 6:. The wing data may be found on the data
page. See the the data
sets file on the page http://www.farinhansford.com/books/essentialscagd/essbookdownloads.html
[4/14/02]
Found by Ron Hoppe, University of HoustonDowntown

p. 79, sketch 47: the caption should say: a vpartial.
[4/02]
Found by Chris Cera

p. 83, Sketch 50: One intermediate Bezier point is drawn
incorrectly. There are three udirection curve evaluations
in the sketch. The "backmost" evaluation is where the error
occurs. One control point from the first step of the de
Casteljau algorithm has been drawn on the wrong control
net segment  it belongs just below where it is drawn.
[3/20/01]
Found by V. Zafiris, ZafirisV@zeus.dt.uh.edu

p. 85, second set of de Casteljau algorithms: the input
point [0 3 3] is missing. [3/22/01]
Found by V. Zafiris

p. 88, Example 6.11, first sentence: the reference should
be to Example 6.4. [3/22/01]
Found by V. Zafiris

p. 93, Exercise 3: it should say "elevate in the udirection".
[10/5/01]
Found by B. Ehrlich

p. 101, Example 7.2, the reference should be to Example
6.4. [4/4/01]
Found by V. Zafiris

p. 104, Example 7.3: The Hermite matrix entries need to
be changed as follows. x_v(0,1) = [0,3,3]^T, x_u(1,0) =
[3,0,3]^T, x_u(1,1)=[3,0,3], x_v(1,1) = [0,3,3]^T, x(0,1)=[0,3,0]^T,
x(1,0)=[3,0,0]^T, x(1,1)=[3,3,0]^T. In the Bezier patch
matrix, the entry for b_(3,3) should be [3,3,0]^T. [10/15/01]
Found by B. Ehrlich

p. 108, "big" matrix: The subscript "K" should be replaced
by "K1" (five occurences); [4/4/01]
Found by V. Zafiris

p. 110, bottom: Figure 7.5 actually illustrates the bicubic
case, not the bilinear case from the example. [1/5/01]
Found by B. Ehrlich

p. 111, Figure 7.5. The caption should refer to Figure 7.4,
not to Example 7.6. [1/5/01]
Found by B. Ehrlich

p. 118, sketch 73. The radius of the shown circle is 2/3,
but it should be 3/2. This means the center has to move
to the right. Therefore, c(0) = [3/2, 0]^T. [11/17/01]
Found by B. Ehrlich

p. 125, Sketch 80: "theta" should be "alpha". The unlabeled
point and vector on the line L correspond to p and v, respectively.
[4/9/01]
Found by V. Zafiris

p. 126, top. Reflection lines may be defined differently;
view a postscript version
or pdf version.

p. 130, middle of page, chain rule equation: {\bf s}_i should
be {\rm d}{\bf s}_i. [4/9/01]
Found by V. Zafiris

p. 130, Just before section 9.2: First derivative should read (1/Delta_0)\dot{\bf s}= ... and (1/Delta_1)\dot{\bf s} = ... .
Same idea for the second derivative, but now the factors involve the second forward difference.
[4/15]

p. 130, sketch 81: it should say "Four cubic Bezier curves."
[4/02]
Found by Chris Cera

p. 131, sketch 82: The sketch is labeled as 3:1, but it is drawn to look 2:1
[4/15]
 p.
150, eqn (10.6): The superscript for d should be nr. [11/28/06]
Found by S Mahbub Murshed
 p.
151, eqn (10.8): the subscript k3 should read kn.
[11/1/00]
Found by B. Seshadri

p. 151, Property 5: K=2n1 should read K=2n. [11/5/00]
Found by B. Ehrlich
 p.
153, In first paragraph, "that region" should be "the region
where it is nonnegative" [7/5/2012]

p. 154, Figure 10.7: The knot u_4=6 is not drawn.
[11/1/01]

p. 155, Preceding
"In coding … " add the following sentence (as part of that
same paragraph). "In (10.9), if u_j appears that is not
part of the knot sequence, e.g., u_{1}, then assume this
term in front of the Bspline function is zero."
[7/5/2012]

p. 155, Figure 10.8: In the caption, the Bspline N^3_4
should be N^3_2. [11/13/01]
Found by R. Holmes

p. 157, Example 10.8: After inserting u=1.5, the Greville
abscissae become 0,1/3,5/6,3/2,13/6,8/3,3. [6/24/02]

p. 157 (Last sentence of page): Insert each domain
knot until it has full multiplicity in order to construct
the Bezier points. [6/24/02]
Found by Chun Lee

p. 158, Figure 10.10: The junction Bezier points (solid
circles) are difficult to see in the figure. [6/24/02]
Found by Chun Lee

p. 160: Twice in the first paragraph, instead of n+1 knot
intervals, it should read 2n2 knot intervals. Therefore,
the knot sequence takes the form \delta_0, ..., \delta_{2n3},...,\delta_{K2n},\delta_0,
...\delta_{2n3}. The list of de Boor points that must overlap
is incorrect also. It should read \dd_0 = \dd_{Dn}, \dd_1
= \dd_{D(n1)}, ..., \dd_{n1} = \dd_{D1}. The footnote
at the bottom of the page is a bit misleading: \dd_3 is
not contrained by the periodic conditions. [10/5/01]
 p.
160, Ignore
footnote [7/5/2012]

p. 161, eq. (10.11): the term N^{n1}_1 should be N^{n1}_{i1}.
[11/28/00]
Found by B. Ehrlich

p. 161, eq. (10.13): the term N^{n1}_1 should be N^{n2}_{i1}.
All superscripts in this equation should be n2. [11/28/00]
Found by B. Ehrlich
 p.
167, Ignore footnote 1. Footnote 2: instead of "evenly"
this should say "without large gaps" [7/5/2012]

p. 174, Ex. 11.4: the matrix should be:
1 0 0 0 0
3/2 7/2 1 0 0
0 1 4 1 0
0 0 1 7/2 3/2
0 0 0 0 1
. [12/05/01 and 6/20/03]
Found by B. Ehrlich and T. Meyer
 p.
187, The last two matrices on the page need to have a space
between the nexttolast and last columns. [7/5/2012]
 p.
188, displayed equations: should all have a superscript
"1". [4/9/01]
Found by V. Zafiris
 p.
190, Sketch 101: A dotted line is missing. Please see this
updated sketch.
[11/3/04]

p. 193, Problem 2: [3,0,0] should read [4,0,0]. [12/05/01]
Found by B. Ehrlich

p. 197, Example 13.2: The new weights in standard form are
1, 2/sqrt(2), 1. [01/19/01]
Found by M. Bara

p. 198, Figure 13.2: "0.1 to 0.9" should say "0.1 to 10"
[11/14/01]
Found by B. Ehrlich
 p.
211, Exercise 6: the answer is 9/2, not 9. [9/10/01]
Found by O. Mahmood

p. 211, Exercise 3.3: the xcoordinate of the point on the
curve is 22/32. The derivative vector is missing a factor
of 3. [10/5/01]
Found by B. Ehrlich

p. 215, Exercise 6.8: the control point b_11 has a missing
ycoordinate. It should be 1/2. The control point b_21 has
a ycoordinate of 0, but this should be a 1. [10/5/01]
Found by B. Ehrlich

p. 218, Exercise 12.3: the fourth row should have zcoordinates
0, 4/3, 8/3, 4. [12/5/01]
Found by B. Ehrlich
 p.223,
Update reference [10] from Geometry Toolbox to PLA: G. Farin
and D. Hansford, Practical Linear Algebra A Geometry Toolbox,
Wellesley, MA, A K Peters Ltd., 2005 [7/5/2012]




