
The
Geometry Toolbox
for Graphics and Modeling
by Gerald
Farin & Dianne
Hansford
published by AK
Peters, Ltd. 1998
288
pages, ISBN: 1568810741




Errata

Please email
suggestions or corrections to farin@asu.edu.
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 [mo/day/yr].
Revised
May 28, 2004

 Several
times, the Geometry Center, University of Minnesota, is
incorrectly said to be in Michigan. [9/30/98]
Found by Tim Rowley, Brown Univ. and Nick Sapidis,
National Technical Univ. of Athens
 p.
xiv: The Geometry Toolbox web site should read http://eros.cagd.eas.asu.edu/~farin/gbook/gbook_home.html.
But if you're here, you probably figured it out!
[10/5/98]
 p.
33, above (3.2): v=pq should be replaced by v=qp.
[12/07/01]
Found by Mike McPhail.
 p.
37, after example 3.3: the two intercepts are c/b for
the e2axis and c/a for the e1axis. [10/3/01]
Found by Orion Culver.
 p.
37, Section 3.4: The substitutions after the second displayed
equation should be {\hat a} = a/b and {\hat b}= c/b.
[10/3/01]
Found by Orion Culver.
 p.
40, Section 3.6: In the equation for d, the x1 and x2
terms should be r1 and r2. Likewise on p. 41, the {\bf
x} should be {\bf r}. Ditto for equation (3.11).
 p.
51, Exercise 3.7: The solution to this problem states
that the two lines are parallel. In fact, they are identical!
Hence no intersection. [9/18/01]
Found by Cem Cebenyan.
 p.
55, Section 4.2: The first sentence should contain [e_1,e_2]
rather than [a_1,a_2]. [5/28/04]
 p.
61: Last paragraph of Scaling section is a bit unclear.
Figure 4.2 illustrates a scaling that changes area. By
chance, Figure 4.3 does not change area, but it does change
shape. [5/28/04]
 p.
61, eq. (4.15): that is a rotation, not a reflection.
A reflection is characterized by having determinant equal
to 1. Later, on p. 63, the sentence mentioning a reflection
about x_2=0 is incorrect. The first equation of this Section
is a reflection about x_1=0. [5/28/04]
 p.
67, bottom of page: Parallel projection are charcterized
by the fact that all vectors are projected in a parallel
direction (not the same). Continuing onto p. 68, the example
there is not a parallel projection. Parallel projections
must be idempotent: AA=A. So it is necessary but not sufficient
for a projection matrix to be of the form [a, ca]. [5/28/04]
 p.
81, after eq. (5.5): the column vector b should
be b_1, b_2. [10/12/03]
Found by Géza Kurczveil.
 p.
90, Example 5.4: The right hand side after the second
shear should have a +2 rather than a 2. This matrix element
a_{2,1} should be positive in the next two equations also.
[12/1/98]
Found by Senthilkumar Manickavasagam, Media 100.
 p.
110: The reference to *Sketch 4.7* should read *Figure
4.8*. [10/5/98]
 p.
110: In the first sentence, "carried" should be "carriedout".
[3/29/01]
 p.
111, Section 7.1: Eigenvectors are orthogonal for symmetric
matrices, not for all matrices. [05/28/04]
 p.
111: In the first equation of Section 7.2, the righthandside
should be lambda*I*r. [3/29/01]
 p.
113: Definition of r_2 is not incorrect, but to simplify
matters, it would be better to pick r_2 = [c, c]^T. With
the current choice, A would be the product of reflections
as well as rotations. (This is the discussion of Section
7.5.) This is evident in Example 7.3 where R is not a
rotation, but a reflection and a rotation. By choosing
r_2 as above, R will be a rotation. [05/28/04]
 p.
114, lines 3 and 4: There should be vectors r_1
and r_2 in the two linear systems.
[9/6/00]
Found by Pong Hon Keat, Singapore
 p.
116, Example 7.2: The column vector with elements v_1,
v_2 should be the elements of the vector r_1.
[10/5/98]
 p.
118: Eliminate eq. (7.10); A^T = A. We'll leave A=RDR^T.
This syncs with the conic chapter changes! [05/28/04]
 p.
119, Equation
in middle of page, A^nr_1 = \lambda^n r_1: the
lambda term should have a subscript of 1. [05/28/04]
 p.
120: The last two equations on the page should have a
righthand side of scalar c, rather than one. [05/28/04]
 p.
121, Last paragraph of Section 7.7: The collinear comment
is incorrect. Large differences in the eigenvalues means
that the slightest change in an eigenvalue will cause
a large change in the shape of the ellipse defined by
A^TA. [05/28/04]
 p.
122, Example 7.4: The eigenvalue lambda_4 is equal to
two rather than three. [10/5/98]
 Chapter
9 Conics: The derivation of the general equation of a
conic has one fundamental error. The inverse of the desired
transformation results from the equations given. Below
we detail the necessary changes. [3/29/01]

p. 138: Last sentence should read "Inserting R^Tx
..." rather than "Inserting Rx ...". At this
point, we assume that x is the rotated point.
In order to satisfy the implicit equation, we must
undo the rotation. Recall that that R^T = R^{1}.

p. 138: Equation (9.5) should read x^TRDR^Tx.

p.139: Matrix A is equated to R^TDR in two places.
This should be replaced by RDR^T

p.139: In the first equation of the page, the "+v^T"
and +v terms should be relaced with minus signs.
This change is similar to what we did for the rotation.
Now, x has been translated, so we must remove
the translation in order to center the ellipse at
the origin.

p.139: Equation (9.6) should have a minus sign in
front of the 2x^TAv
term.
This also applies to (9.7) and the 2x^Tb
term.

p.139: The numbers in Example 9.1 are correct for
a rotation of 45 degrees and a translation of [2,
1]^T. For the given rotation and translation, the
numbers need the following changes. Correct the matrix
A by negating the elements with value 1. Change the
vector b to [7, 5]^T and there should be a
negative sign in front of the 2x[7, 5]^T term.
The dterm should be 18 instead of 10.
The final conic equation is 3x_1^2  2x_1x_2 + 3x_2^2
 14x_1 + 10x_2 + 18 =0
(Note: this errata item has been updated on [4/4/04]
from its original 2001 entry.)
 p.
140: Delete sentence "However, only ellipses
and hyperbolas .... (9.6)". [05/28/04]

p.141: To be true to the form of the conic given in
(9.7), we should rewrite (9.8) so that middle term
is doublynegated so that it becomes 2[x_1, x_2][1/2c_4,
1/2c_5]^T.

p.141: R^TDR should be replaced by RDR^T.

p.141: Example 9.4 as given is correct for an ellipse
that lives in quadrant II  resulting from a 45
degree rotation and a [2, 1]^T translation. In order
to write the matrix form of this conic consistent
with the form from (9.7), we should make the following
changes. The given conic is 3x_1^2 + 3x_2^2  2x_1x_2
 14x_1 + 10x_2 + 18 = 0. Therefore, the next equation
must be changed. Negate the 1 terms in the matrix,
negate the 2x^T term, change [5, 1] to [7, 5], and
change the 10 term to 18.
(Note: this errata entry was updated on [4/4/04]
from its original 2001 entry.)

p.142: The term [1/2c_4, 1/2c_5] should be a transposed
vector.

p.143: Example 9.5, in order to correspond to the
conic in (9.9) needs the following changes. Negate
the 1 terms in the matrix. The righthandside should
be [7, 5]^T. (Note: this errata entry was updated
on [4/4/04]
from its original 2001 entry.)

p.143: The expression for A should be RDR^T.

p. 143 The statement with the clause "then the orthogonal
matrix ..." is not a sentence, but you probably can
get the idea!

p. 143: Replace x=R^Tx by x=Rx.
If the rotation is taken out of x, then the
conic equation must be rotated by Rx in order
to remove R^Tx.

p. 143: The second to last equation on the page should
be (Rx)^TRDR^T(Rx)  c = 0

p. 144: The last displayed equation is missing squares
on the x_1 and x_2 terms.
 A
general comment: Another way of thinking about the
change to the conic equation when the conic is rotated
or translated, is as a coordinate system transformation.
Found by Lewis Stiller
 p.
156, Sketch 96: The line drawn from x to x^hat
should be drawn parallel to the normal vector.
[10/5/98]
 p.
168, Sketch 111: The labeling of the axes drawn is as
follows. Heading up is e_3, heading out of the
page is e_2, and heading into the page is e_1.
[10/5/98]
 p.
172, Sketch 116: it should say *v'* instead of
*v_1*. [9/30/98]
Found by Jochen Weiher, Berlin, Germany.
 p.
181, eq (12.7): the shown matrix should be replaced by
its transpose. [5/02]
Found by Jack Hjort.
 p.
185: Second paragraph reference to *Sketch 4.9* should
be *Sketch 50*. [10/5/98]
 p.
186: Result of first matrix multiply: the element a(1,1)
should be 2, not 2, and element a(1,2) should be 3,
not 3. [21/15/99]
Found by Michael Smith
 p.
200, Example 13.4: There is no need to normalize n at
the bottom of the page. Then v.n=1, and v.n^T is a matrix
with all zeros except for the last row which is 1s. The
last equation of this example should read
[3,2,4]^T = [3,2,4]^T + 8[0,0,1] [5/28/04]
 p.
215, top part of page: equation for a_ik should read a_ij
= a_ik  g_ij a_jk. [5/28/04]
 p.
221: In the last line of Example 14.6, *x_x* should be
*x_1*. [10/5/98]
 p.
225: Expression for a_ij = l_i1u_ij + .... for j>=i,
needs a little change. The first u_ij term should be u_1j.
[5/28/04]
 p.
235, Figure 15.5: This is not a valid example of a trimmed
surface. The correct figure can be found in the zip file
figures.zip as trimsurf.ps. [10/5/98]
 p.
237, Example 15.1: The points p2, p3, p4 are not correct.
They should be
p2=[0,2,0]^T, p3=[2,0,3]^T, p4=[0,2,3]^T. Also, the statement
that (15.5) is more effiecient is not entirely true. In
fact numerically this scheme is (potentially) a problem.
[5/28/04]
 p.
239, last word of Section 15.8: should read collinear
rather than coplanar. [5/28/04]




