home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!psinntp!eye!erich
- From: erich@eye.com (Eric Haines)
- Newsgroups: comp.graphics
- Subject: Graphics Gems errata
- Message-ID: <1992Sep8.105358.10215@eye.com>
- Date: Tue, 8 Sep 92 14:53:57 GMT
- Sender: erich@eye.com (Eric Haines)
- Organization: 3D/EYE, Inc. Ithaca, NY
- Lines: 166
-
- Here's something I compiled last night while watching mindless TV. It should
- soon be available on wuarchive.wustl.edu in the graphics books errata section
- (/graphics/graphics/books).
-
- Eric
-
-
- Errata to _Graphics Gems_, first edition, edited by Andrew Glassner
- (glassner.pa@xerox.com), Academic Press 1990. Code available online in
- princeton.edu:pub/Graphics/GraphicsGems/Gems.
-
- compiled by Eric Haines (erich@eye.com) from author and reader contributions
-
- date: 9/12/92
-
- -----
-
- Errors in the text:
-
- p. 3, bottom: The equation "N . P + c = 0" is better expressed as
- "N . P - c = 0" in order to match Figure 1a.
-
- p. 5, V2 Perpendicular: change "N <- (-Vx, Vy)" to "N <- (-Vy, Vx)"
-
- p. 5, V2 Reflect: change "N <- (-Vy, -Vx)" to "N <- (-Vx, -Vy)"
-
- p. 105, last sentence of first paragraph: "ajacent" to "adjacent".
-
- p. 365, last line: "Kajia" to "Kajiya".
-
- p. 395, first paragraph: change "discussed by Haines (1989)" to "discussed by
- Haines in Glassner (1989)".
-
- p. 448, last sentence of second paragraph: change "and now nearly as simple"
- to "and not nearly as simple".
-
- p. 463, second to last line: change "then alpha <- alpha + pi/2" to "then
- alpha <- pi - alpha".
-
- p. 495, equation 5: this should have an equal sign (=) before the
- plus-or-minus (+/-).
-
- p. 499, middle of page: change "and i,j,K" to "and i,j,k".
-
- p. 516, last paragraph: a reader notes an additional reference which
- predates Berger and Salmon & Slater, namely "The Viewing Transformation,"
- Technical Memo. no. 84, Alvy Ray Smith, Computer Graphics Project,
- Lucasfilm, June 24, 1983 (rev. May 4, 1984).
-
- p. 809: the author of "Approximation of Sweep Surfaces by Tensor Product
- B-Splines" is M. (not J.) Bloomenthal. The author is correctly
- attributed in the text (page 569).
-
- -----
-
- The following are errors in the code listings (corrected in the online code at
- princeton.edu:pub/Graphics/GraphicsGems/Gems).
-
- Serious errors (ones your compiler cannot or may not catch):
-
- p. 632: procedure declarations for routines in the "2D and 2D Vector C
- Library" (next pages) are missing from "GraphicsGems.h", e.g.
-
- double V2SquaredLength() ;
- double V2Length() ;
- Vector2 *V2Negate() ;
- ...
-
- p. 640: V3MulPointByMatrix() does not work. A separate local Point3 (e.g.
- "Point3 q ;") should be used in place of "p" for assignment and then
- passed back.
-
- p. 649, top: add "#include <math.h>"
-
- p. 663, line 45: change first "+" to "="; should read
- "VnextLeft = (Vleft=VnextLeft) + 1;"
-
- p. 714, line 20: the last "1" in "if (i + 1 < l * 1)" should be an "l"
-
- p. 748, line 22: change "negetive" to "negative"
-
- p. 756, line 15: add space around "=" in "unsigned int *fi=&f;", as some
- compilers think "=&" means "&="
-
- p. 766, line 25: change "det = det4x4( out );" to "det = det4x4( in );"
- throughout: change "matrix4" to "Matrix4"
-
-
- Syntax errors (ones your compiler will catch):
-
- p. 650, line 1: bad end-of comment; delete "/"
-
- p. 651, throughout: Can't use "const" as a variable name, as it is a reserved
- word in ANSI C. Use "liconst" instead.
-
- p. 660, line 11: header missing end of comment "*/"
-
- p. 662, line 13: change "SYBYRES" to "SUBYRES"
- line 16: bad space after "MODRES"
- line 42: change "XRmax" to "xRmax"
- p. 665, line 15: missing semicolon after "int area"
- line 27: change "O" to "0" in "if (partialArea>O)"
- p. 666, line 13: change "O" to "0" in "rightMask = O;"
-
- p. 671, line 35: missing "{" at end of "while (y<ly && y<ry)"
- p. 676, end: change "void pixelproc();" to "static void pixelproc();"
-
- p. 696, line 8: add '#include "GraphicsGems.h"'
- p. 700, line 5: add '#include "GraphicsGems.h"'
- p. 706, end: add '#include "GraphicsGems.h"'
- p. 709, line 23: missing semicolon at end of "up = (up) ? FALSE : TRUE"
-
- p. 713, line 26: change ":" to ";" in "char **argv:"
-
- p. 715, top: pseudo-code at head of file (to advance from one element to the
- next) should be commented out.
- line 14: missing declaration "int randmasks[32];"
-
- p. 727, line 11: remove ")" in "static double bigC,..." line
- p. 728, line 26: change "con_const" to "cone_const" in
- "bigC = m1sq + con_const * q1"
- last line: add a "}" to end albers_project procedure
-
- p. 730: missing inclusion of GraphicsGems.h.
-
- p. 736, line 20: change "O" to "0" in "for (i=O;"
-
- p. 757, line 4: change "{" to "[" in "sqrttab{"
-
- p. 774, line 2: missing ";" at end of "long *argx, *argy"
-
- p. 775: P, Q, and M need to be declared as externs
-
- p. 780, line 18: bad start of comment for "/ re-parameterization"
-
- p. 785, line 1: bad start-of-comment
-
- -----
-
- The following are typographical errors in the comments:
-
- p. 687, line 3: "plottted" to "plotted"
-
- p. 701, line 26: change "interscetion" to "intersection"
-
- p. 728, line 10: "latitute" to "latitude"
- p. 729, line 8: "degress" to "degrees"
-
- p. 724, line 38: "seperated" to "separated"
- p. 725, lines 7-9: "componant" to "component"
-
- p. 730, line 17: "minium" to "minimum"
-
- p. 752, line 2: "positve" to "positive"
-
- p. 760, line 5: "interger" to "integer"
- p. 761, line 4: "preceed" to "precede"
-
- p. 766, throughout (5 times): "determinent" to "determinant"
-
- p. 781, lines 7,23: "demoninator" to "denominator"
-
- -----
-
- Addenda: There is additional code for Kelvin Thompson's "Rendering
- Anti-Aliased Lines" gem in the online distribution of the code.
-