Last Updated 4 May 2004. Errors found by the author: p. 98, Figure3.23: swap the names "r" and "r*". p. 173, line -10: "This why this" should be "This is why this..." P. 198, 3rd paragraph. -0.625P_1 should be -0.0625P_1. Also -0.625P_4 should be -0.0625P_4. p. 176, Fig. 4.2b. There are two points labeled P_1*. The one on the right should be labeled P_2* (see also answer to Exercise 4.3). p. 278, lines -8 and -14. the expression 3b\Delta^2t should be 2b\Delta^2t. p. 345, line -1. The coefficient of P_1 should be (6t^3-9t^2+4)/6. p. 359, Fig. 4.77. Column 4 from the left contains two P^{(k-2)}_{l-1}. The bottom one should be P^{(k-2)}_l. p. 371, Fig. 4.84. The point t_8 in part (a) should be moved a bit to the left, as in part (b) of the figure. p. 426, line -3. Change "the [Kimberling 94]" to "[Kimberling 94]". p. 516, line -3. The right-hand side of the equation should start with two left parentheses. Thus P(u) T_y(w)=((4t-6t^3+7t^4/2)\cos w, p. 550, Figure 6.9, the third row third column is: .8P_1+.8P_2. It should read .8P_1+.2P_2 P. 730. Reference [Triangles 98] has changed to: http://faculty.evansville.edu/ck6/index.html p. 736, Answer 2.4 should be: We select an initial value Err=(delta y - delta x)/2=2.5 for a better-looking line... Table Ans.3 should be corrected accordingly, with the result that the x coordinate is incremented in step 4, instead of in step 3. ----------------------------------------------------------------- Errors found by Juntao Ye p. 252, line 7. The implicit representation of the parabola should be y^2=4ax. p. 268 in the middle, following: "This shows that the elements of the triangle satisfy" {i\choose 0}={i\choose 1}=1; i=0,1,... should be {i\choose 0}={i\choose i}=1; i=0,1,... p. 291, paragraph 3. The expression $P_{01}=\alpha(P_0+P_1)$ is wrong (it should be barycentric). The correct expression is $P_{01}=\alpha P_0+(1-\alpha)P_1$. This is also true for the other expressions in this paragraph and also for the solution to exercise 4.68. The correct text can be found in this pdf file. p. 362, second line above Figure 4.81: the word "barycentric" should be "weighted". p. 348-349. Section 4.16.9 Cubic Uniform B-Spline by Subdivision, was incorrect. A clear (hopefully correct) version is available in this pdf file. ----------------------------------------------------------------- Errors found by Aseem Agarwala p. 301, figure 4.47. The third from last line should be t=TotSegLen/L, and the fifth from last line should be st = SegLen - (s-st). ----------------------------------------------------------------- Error found by an anonymous reader p. 182, line 10. "(1+t,t^2)" should be "(1+t^2/2,t^2)". ----------------------------------------------------------------- Errors found by Anhnhat Tran ---------- page 201, line -1. Equation $$L_0^2(t)={(t-\Delta_0)(t-\Delta_1)\over(-\Delta_0)(-\Delta_1)},\quad L_1^2(t)={(t-0)(t-\Delta_1)\over\Delta_0(\Delta_0-\Delta_1)},\quad L_2^2(t)={(t-0)(t-\Delta_0)\over\Delta_1(\Delta_1-\Delta_0)},$$ should be $$L_0^2(t)={(t-\Delta_0)(t-\Delta_0-\Delta_1)\over(-\Delta_0)(-\Delta_0-\Delta_1)},\> L_1^2(t)={(t-0)(t-\Delta_0-\Delta_1)\over\Delta_0(-\Delta_1)},\> L_2^2(t)={(t-0)(t-\Delta_0)\over(\Delta_0+\Delta_1)\Delta_1},$$ page 203, line 4. "The chord length between $\bfP_1$ and $\bfP_2$ is 5.66" should be "The chord length between $\bfP_1$ and $\bfP_2$ is 2.83". page 243, line 1 "The quantities $l_2,l_3,\ldots,l_n$ and $r_1,r_2,\ldots,t_{n-1}$" should be "The quantities $l_2,l_3,\ldots,l_n$ and $r_1,r_2,\ldots,r_{n-1}$". page 243, line -1. "6at+b" should be "6at+2b". page 244, line 2. "6a_k \times 1 + b_k" should be "6a_k \times 1 + 2b_k". Similar error on line 7 for "b_k+1". page 244, line 12. The equation should have a pair of large square brackets enclosing "[-(P_k+1...T_k+1]". page 244, line 15. "l^2_k" should be "l^2_{k+1}". page 254, line 2. "(0,0,0)H_123 should be "(0,0,1)H_123". Also the top row of the matrix on the following line should be "0,0,1" instead of "0,0,0". page 278, lines -14 and -8. "3b\Delta^2 t" should be "2b\Delta^2 t". p. 314, paragraph 3, "The second derivative of the PC segment P_k(t) is 6a_kt+b_kt" should be "The second derivative of the PC segment P_k(t) is 6a_kt+2b_kt". p. 318, line -1. The equation should have 2 in the denominator instead of 1/2. ----------------------------------------------------------------- Errors found by Brian M. Schott p. 126. There may be a typo in your matrix T_2. More specifically the d's and e's in rows and columns number 3 are the opposite sign of what I compute when using equation (3.27). Author's explanation: I believe the confusion has to do with the simple expression $\sin\theta=\sqrt{1-\cos^2\theta}=\sqrt{1-f^2}$ (line -5 on this page). It should really be $\sin\theta=\pm\sqrt{1-\cos^2\theta}=\pm\sqrt{1-f^2}$. If you substitute a minus sign, you should get my matrix $T_2$. I ignored this complication because Section 3.9.3 introduces much new material and I tried to keep it simple. A similar situation can be found in the book on page 70, line -5. A practical implementation should therefore check $\theta$, and if it is in the interval $(180^\circ,360^\circ)$ it should compute $\sin\theta$ as negative. Once this is done, the software should compute matrix $T_2$ (numerically, not symbolically) and multiply the four matrices $T_1$, $T_2$, $T_3$, and $T_p$ to obtain matrix $T_g$ (equation 3.44) as $4\!\times\!4$ numbers. Next, all the points of the object being projected should be multiplied by this matrix, to produce the projected, two-dimensional points. Alternatively, you can multiply each point by the four matrices, but this seems unnecessarily slow. p. 140, Fig. 3.46. There appears to me to be an error in the definition of pt={...}: the fifth point is NOT connected to the fourth point. Author's response: Yes, there are two errors. The order of the points is wrong, and the $z$ coordinate of the last four is negative (all $z$ coordinates must be positive because the observer is located on the negative side of the $z$ axis and the object is projected from positive $z$ to the $xy$ plane). Somehow, these two errors cancelled each other out. The correct (I hope) Mathematica code is: \verbatim (* A stereo pair. Page 140 *) Tl={{1,0,0,0},{0,1,0,0},{0,0,0,r},{e,0,0,1}}; Tr={{1,0,0,0},{0,1,0,0},{0,0,0,r},{-e,0,0,1}}; pt={{1,1,1,1},{-1,1,1,1},{1,-1,1,1},{-1,-1,1,1}, {-1,-1,2,1},{1,-1,2,1},{-1,1,2,1},{1,1,2,1},{1,1,1,1}}; e=.5; r=3; qt=Table[0, {i,9}, {j,4}]; Do[qt[[i]]=pt[[i]].Tr, {i,1,9}]; (* Tl for other image *) Do[qt[[i,1]]=qt[[i,1]]/qt[[i,4]], {i,1,9}]; Do[qt[[i,2]]=qt[[i,2]]/qt[[i,4]], {i,1,9}]; ListPlot[Table[{qt[[i,1]],qt[[i,2]]}, {i,1,9}], PlotJoined->True, Axes->False] \endverbatim The $z$ coordinates don't have to be 1 and 2 but should be positive. When executed by Mathematica, the results are identical to Fig. 3.45. ----------------------------------------------------------------- Error found by Ron Wilkins p. 432. The expression for P_y at the end of section 5.4.1 is wrong. The term (b_y-a_y) in the determinant in the numerator should be (c_x-a_x). ----------------------------------------------------------------- "It had indeed been an error. It had been late one night-of course. It had been a difficult day-of course. There had been soulful music playing on the ship's sound system-of course. And he had, of course, been slightly drunk. In other words, all the usual conditions which bring on a bout of soul searching had applied, but it had, nevertheless, clearly been an error." ---Douglas Adams. Life, the Universe, and Everything