From graphtext@cs.brown.edu  Mon Feb 10 20:50:32 1997
Received: from cs.brown.edu
           by blaze.cs.jhu.edu with ESMTP; Mon, 10 Feb 1997 20:50:15 GMT
From: graphtext@cs.brown.edu
Sender: graphtext@cs.brown.edu
Received: from euclid.cs.brown.edu (euclid.cs.brown.edu [128.148.38.116]) by cs.brown.edu (8.8.5/8.7.1) with ESMTP id PAA04964 for <subodh@blaze.cs.jhu.edu>; Mon, 10 Feb 1997 15:50:12 -0500 (EST)
Received: (graphtext@localhost) by euclid.cs.brown.edu (8.8.3/BrownCS1.0) id PAA21016 for subodh@blaze.cs.jhu.edu; Mon, 10 Feb 1997 15:50:07 -0500 (EST)
Date: Mon, 10 Feb 1997 15:50:07 -0500 (EST)
Message-Id: <199702102050.PAA21016@euclid.cs.brown.edu>
To: subodh@blaze.cs.jhu.edu
Content-Type: text
Status: RO

Bug List (August 1, 1992)

J. Foley, A. van Dam, S. Feiner, J. Hughes
Computer Graphics: Principles and Practice, Second Edition
Addison-Wesley, Reading, MA, 1990
ISBN 0-201-12110-7

The bug list is divided into four parts.  Each part i applies to the 1st
through i-th printings.
Thus, if you have a 1st printing, you should check all four parts of the 
list; if you have a 4th printing, you should check only part four.

You can tell which printing you have by looking at the beginning of
the bottommost line of your copy's page iv (the unnumbered page that 
contains the copyright notice): 
	
	Beginning of line	Printing	Applicable list parts

	ABCDEFGHIJ		1st		1,2,3,4
	BCDEFGHIJ		2nd		2,3,4
	3 4 5 6 7 8 9 10 	3rd		3,4
	4 5 6 7 8 9 10 		4th		4
	
Each entry in this list is preceded by its page number. Negative line numbers
are counted up from the bottom of the last given part (page, section, para,
bullet, column, figure caption, color plate caption, or exercise), where line
-1 is the bottommost line of the part.  Each paragraph is counted in this
numbering scheme, including partial ones.

If you find a bug that is not on this list (or a problem with the list 
itself), please tell us about it by sending email to graphtext@cs.brown.edu 
with a subject line of "Report-Text-Bug".  The current version of this list 
may be obtained by sending email to the same address with a subject 
of "Get-Text-Bug-List".

(Finally, please note that this list is large because it is intended to be 
exhaustive: Trivial grammatical errors are included side-by-side with the 
kinds of bugs that you're probably looking for!)

========================================================================

++1 		PART 1: CORRECTIONS TO 1ST PRINTING ONLY

-- Preface

xi, quote, lines 7-8: Delete "Interactive graphics packages that help make
	graphics programming rational and straightforward."
xii, line 4: "packages" -> "package"
xii, para 1, lines -2 to -1: "and through navigating information" ->
	 "and navigating through information" 
xii, line -3: "fractal," -> "fractals,"
xiv, para 4, lines 4-5: "only form a" -> "only from a",
	"point of view form" -> "point of view from"
xiv, para 5, line -2: "advanced modeling form" -> "advanced modeling from"
xv, para 3, line 11:  "Mide Kappel" -> "Mike Kappel"
xv, para 3, line 15:  "Rogert Scheifler" -> "Robert Scheifler"
xv, para -2, line -2: "DaSilva" -> "Da Silva"
xv, para -2, line 2: Add "Jenni Rodda," after "Hogan,"

-- Chapter 1

4, para 4, line 4: "(see Color Plate B)" -> "(see Color Plates I.15-I.16)"
6, para 1, line -4: "A, D, F" -> "D and F" 
6, para 1, line -2: "I.11-I.13, C and G" -> "I.12, I.13, II.18, and G" 
6, bullet 1, line 3: "I.9" -> "I.9, I.11"
7, para 5, line 2: "laid" -> "laid out"
7: Table 1.1: "Fig. 1.1" -> "Fig. 2.1", "Fig. 17.10" -> "Fig. 1.1",
	"II.38" -> "II.39"
10: Fig. 1.1: "cotroller" -> "controller", lines from "Lucy" should stop
	short of screen corners
13: Fig. 1.4(b) Right hand edge of door has arrow in wrong direction
13, line 4: "96 bits" -> "96 bits or more"
13, line 6: "12 bits per pixel requires 2.5" ->
	"24 bits per pixel requires 3.75"
13, footnote 1, line -1: "hidden-surface elimination" -> "visible-surface
	determination" 
14, para 3, line -1: Add "(RIP)" after "image processor"
14, line -5: "causes" -> "can cause"
19, para 3, line -3: "intentionally here both" -> "intentionally here, both"
19, line -4: "tesselating" -> "tessellating"
20, para 2, line 3: "or can" -> "that can"
20, pseudocode, line 6: italicize "on selection"
20, pseudocode: insert bold "end" for case statement 

-- Chapter 2

28, para 1: In axis plotting code, replace the calls to SRGP_lineCoord with:
	SRGP_lineCoord (175, 200, 320, 200);
	SRGP_lineCoord (200, 140, 200, 280);
35: Fig. 2.11, line 3: "triangle_coords" -> "triangleCoords"
39, para 1, line -3: "menu buttons" -> "menu button"
49, Fig. 2.21: "START" should be "PLACE_BUTTON"
49, line -1: "see Section 7.13" -> "see Section 7.12"
55: Parameter to SRGP_inquireClipRectangle should be "rectangle", not "integer"
59, para -2, line 1: "inverts" -> "can be used to invert"
59, para -2, line 4: "leave xor mode, set and" -> "stay in xor mode and"
63, para 4, lines -2 to -1: "up by a noninteger factor or to scale down by any
	amount" -> "up or down properly"

-- Chapter 3

79, footnote 5: "= 1/2" -> "lies exactly halfway between horizontal grid lines"
90, Fig. 3.21, line 1: "b : value" -> "b, value"
90, Fig. 3.21: In line before "while (y > 0)", "y" should be italic
95, Section 3.6.1, para 2:  Replace paragraph with:
	"The algorithm above deals with shared vertices in a polygon, with 
	edges shared by two adjacent polygons, and with horizontal edges.  It 
	allows self-intersecting polygons.  As noted, it does not work 
	perfectly in that it omits pixels.  Worse, it cannot totally avoid 
	writing shared pixels multiple times without keeping a history:  
	Consider edges shared by more than two polygons or a y sub min vertex 
	shared by two otherwise	disjoint triangles (see Exercise 3.14)."
97, Fig. 3.26: Variable declarations are missing.  Add before first "begin":
	"var x, y, numerator, denominator, increment : integer;"
98, step 3.1: "maintaining AET sort order" -> "then sort the AET"
98, step 3.6: Delete this step
99, line 3: "3.6" -> "3.1"
103, Fig. 3.30(g) caption: "opaquely" -> "transparently"
116, Fig. 3.41: italicize parameter "value" of procedure
	CohenSutherlandLineClipAndDraw, and parameter "code" of procedure
	CompOutCode. In CohenSutherlandLineClipAndDraw,
	"code + [TOP]" -> "[TOP]", "code + [BOTTOM]" -> "[BOTTOM]"
128, Fig. 3.49: In parameter list to procedure Intersect, "edge :" -> "edge;",
	"i" in "intersectPt" should be italic
128, Fig. 3.49, line -3: Add ";" after right parenthesis
134, para 2, line 1: "1, 2" -> "2, 1"
134, para 2, line 2: "1, 3" -> "2, 2"
134, para 2, line 2: "1, 4" -> "2, 3"
143, Exercise 3.14, line 1: "from polygons" -> "or written multiple times"

-- Chapter 4

180, para 3, line 1:  "Standards" -> "System"
198, Exercise 4.10:  In table,  "milliseconds" -> "microseconds" (2 times)
207, Fig. 5.6:  Replace with figure but not caption of Fig. 5.7.
	Line 1 of caption:  "45" -> "-45"
208, Fig. 5.7:  Replace with figure but not caption of Fig. 5.8.
	Caption is correct.
209, Fig. 5.8:  Replace with figure but not caption of Fig. 5.6.
	Caption is correct.

-- Chapter 5

-- Chapter 6

243, Fig. 6.24 caption:  "from 0 to 16 in z" -> "from 0 to 16 in x"
242, line 4:  "Chapters 14-16" -> "Chapter 15"
253, para 2, line 11:  "F" -> "F(VRC)" and shouldn't be indented
253, para 2, line 12:  "B" -> "B(VRC)" and shouldn't be indented
278, para 4, line 4:  delete "lower-left",
	"(-1, -1, 0)" -> "(-1, -1, -1)"
278, para 4, line 5:  "(1, 1, 0) -> "(1, 1, 1)"
278, Eq. (6.54):  "(1, 1, 0) -> "(1, 1, 1)"

-- Chapter 7

293, running head: "Grapics" -> Graphics
297, para 1: In polyhedron specification, add ", z sub 1" after "y sub 1"
	and add ", z sub 2" after "y sub 2"
300, para 4, lines 4-6: "view volume, which is an orthographic projection
	with the direction of projection along the z axis and a cross-section
	covering a square region of the (x, y) plane with corners at (0, 0, 0)
	and (1, 1, 0)." ->
	"view having the volume depicted in Fig. 6.25(b), with the 
	front and back planes at z = 0 and z = -infinity, respectively."
301, Fig. 7.6: "{Clipping planes in Z}" -> "{Clipping planes}"
303, line 7: "two terminal-emulator programs" -> "a terminal emulator program"
309, Fig. 7.12: Arguments to "SPH_postRoot" should be "STREET_STRUCT, 0"
309, running head: "Hierarchial" -> Hierarchical"
311, running head: "Hierarchial" -> Hierarchical"
311, Section 7.5.3 title: "the Four-Level Robot" -> "the Robot"
313, running head "Hierarchial" -> Hierarchical"
315, line 5: "paralleleipipeds" -> "parallelepipeds"
317, para 3, line -2: "level-1" -> "level-2"
317, para 4, line 1: "T sub arm <- thumb" -> "T sub arm <- th"
317, para 4, line 2: "level-1" -> "level-2"
317, para 4, line 3: "level-2" -> "level-3"
317, para 4, line -1: "level-1" -> "level-2"
318, Fig. 7.17 caption, line 1: "two-level" -> "three-level"
321, Fig. 7.20: Chimneys on rightmost two houses should be the same color
	as the chimney on the leftmost house
330, Fig. 7.24, line 6: Add ", etc." after "execute-structure"
335, para 3, line -1: Delete "[BAUD83]"
342, Section 17.14.2 title: "Pasing" -> "Passing"
343, running head: "Hierarchal" -> "Hierarchical"

-- Chapter 8

348, para 4, line -3:  "Hollins" -> "Hollan"
356, Fig. 8.2:  Swap captions for (a) and (b)
356, Fig. 8.3:  "data glove" -> "DataGlove"
386, para 2, line -2:  "oftern" -> "often"

-- Chapter 9

-- Chapter 10

-- Chapter 11

487, Fig. 11.16 caption, line 1:  "bicubic" -> "cubic",
	"segements" -> "segments"
505, Fig. 11.32:  Move point P sub 0 so line segment P sub 0 P sub 2 is
	parallel to tangent line at P sub 1

-- Chapter 12

543, line -5: "G is number" -> "G is the number"
546, Sec. 12.5.3, para 2, line 1: "One approach, based on [LAID86], is first
	to inspect the polygons in both objects, splitting them if necessary
	to ensure that no two polygon interiors intersect." ->
	"One approach [LAID86] is to inspect the polygons of both objects, 
	splitting them if necessary to ensure that the intersection of a
	vertex, edge, or face of one object with any vertex, edge, or face of
	another, is a vertex, edge, or face of both."
556, Fig. 12.26(a): Continue gray line "h" until it meets line "e". Add gray
	line along line "i" (the right edge of the hole).
	Move letters "h" and "i" up a little to be unambiguously near the
	lines they label.  All black lines should be same weight.

-- Chapter 13

568, para 2, line -1:  "150" -> "110"
589, Eq. (13.33): Use these more accurate values in the matrix:
	0.299	 0.587	 0.114
	0.596	-0.275	-0.321
	0.212	-0.528	 0.311
596, Fig. 13.37, line 4:  "n1, n2, hue" -> "n1, n2, hue: real"
596, Fig. 13.37, line 8:  "if" -> "else if"
596, Fig. 13.37, line 10: ">" -> "<"
596, Fig. 13.37, line 15: "n2 - 1" -> "n2 - n1"
596, Fig. 13.37, line 23: move line left, flush with "else" two lines above
601, para 3, line -2:  "Gourard" -> "Gouraud"

-- Chapter 14

612, Sec. 14.4, line 6: "Section 2.17" -> "Section 3.17"
613, Sec. 14.4.4, line -1: "Section 6.7" -> "Section 16.2"
615, Sec. 14.5, line 6: Add "(Color Plate IV.25)" after "tedious to do by hand"
618, Fig. 14.8(c) caption, line 1: Italicize alpha.
622, para 2, line 1: "Chapter 2" -> "Chapter 3"
626, Fig. 14.15 caption: Add at end of part (c): "The DC value in the 
	frequency  domain is truncated to make the other values legible and
	should be 129."
628, para 1, line -1: "affects" -> "often affects"

-- Chapter 15

654: Fig. 15.4: "image-space" -> "image-precision"
654: Fig. 15.5: Figure should be drawn from same viewpoint as Figs. 15.1,
	15.2, and 15.6. If current viewpoint were correct, then
	p. 654, line -2 should say "sixth" not "seventh" 
657, Sec. 15.2.1, bullet 3: "penetrates a face" -> "penetrates a visible face"
663, Fig. 15.17: Line "e" should be black, not gray
669: Fig. 15.21, line -6: "{New point is not further}" ->
	"{New point is not farther}"
676, para 2, line 7: "frontmost face" -> "the frontmost face"
676, Fig. 15.29: "SUTH74a.]" -> "SUTH74a]."
686, Fig. 15.41 caption, line 1: "object-space" -> "object-precision"
686, Sec. 15.7, line 1: Italicize "Area-subdivision"
710, para 2, line 6: "in 2D Fig." -> "in 2D in Fig."
715, line 3: "Section 16.13" -> "Section 16.12"
717, Fig. 15.67 caption, line 2: Add to end, "(After [FIUM89].)"
720, line -1: Add the following exercise:
	"15.25  If you have implemented the z-buffer algorithm, then add
	hit detection to it by extending the pick-window approach described
	in Section 7.12.2 to take visible-surface determination into account.
	You will need a SetPickMode procedure that is passed a mode flag,
	indicating whether objects are to be drawn (drawing mode) or instead
	tested for hits (pick mode).  A SetPickWindow procedure will let the
	user set a rectangular pick window.  The z-buffer must already have
	been filled (by drawing all objects) for pick mode to work.  When in
	pick mode, neither the frame-buffer nor the z-buffer is updated, but
	the z-value of each of the primitive's pixels that falls inside the
	pick window is compared with the corresponding value in the z-buffer.
	If the new value would have caused the object to be drawn in drawing
	mode, then a flag is set.  The flag can be inquired by calling
	InquirePick, which then resets the flag.  If InquirePick is called
	after each primitive's routine is called in pick mode, picking can be
	done on a per-primitive basis.  Show how you can use InquirePick to
	determine which object is actually visible at a pixel."

-- Chapter 16

723, para 2, line -1: "illumination of ambient light" ->
	"illumination by ambient light"
727-728: Subscript o of z and s should be lower-case letter o, not zero.
737, line 4: "patch crack" -> "patch cracks"
738, para 2, line -1: Add "Compare the highlights on the ball in Color Plates
	II.31 and II.32." after "16.21d)."
752-753: Subscript o of x, y, and z should be lower-case letter o, not zero.
763, para 2, line 2: "also must be taken into account" ->
	"must instead be taken into account"
766, Fig. 16.42(c) caption, line 2: "Interception" -> "interception"
772: Fig. 16.49: Dark gray umbra volume slice is too
	large. Should be only the bottom half of that shown, as described
	below.  Three black edges are also incorrectly obscured by the
	oversized umbra slice: two emanate from the polyhedron's front top left
	vertex; the other has an arrowhead and passes from the left to the
	right side of the umbra slice (this line should be the top edge of the
	correct umbra slice). 
783, Fig. 16.57(b): Lengthen lines "B" and "H" to intersect gray area.
812, para 2, line 4: "parallel to it (s,t)" -> "parallel to its (s,t)"
813, Exercise 16.5, lines 1-2: "an reflection" -> "a reflection" (2 places)

-- Chapter 17

818, para 3, sentence 2: replace "fifth" with "sixth" and "sixth" with
	"seventh"  
825, Fig. 17.7: Add caption pointing to polygon in right half, saying "Target
	polygon." 
825, Fig. 17.7: Reduce the size of the rectangle bounding the filter.
825, Fig. 17.8: Add square around circle, extend arrow on "convolution mask"
	label to actually touch the circle. 
825, line -1: "our case" -> "Fig. 17.9"
829, Fig. 17.13: Add "(Courtesy of George Wolberg, Columbia University.)"
	to caption. Delete braces labeled "a" and "b".  
840, lines 10-11: "atop" -> "over" (2 times)
844, para 3, lines 3-5:  Replace last sentence with, "However, some methods of
	image compression do treat the image as a 2D array, such as the
	quadtree and fractal encoding schemes described later, so separation
	into channels is inappropriate."
852, Exercise 17.6, line 2: Delete "and so on"
853, Exercise 17.10, part a, line 1: "mapped" -> "mapped linearly"

-- Chapter 18

864, para 1, line 2: "Section 3.3.2" -> "Section 3.2.2"
864, para 2, line 4: "Section 3.4.2" -> "Section 3.3.2"
869, Sec. 18.3.5, para 2, line 4: "signficant" -> "significant"
871, para 2, line -4: "Section 16.8.2" -> "Section 16.2.5"
883, para 4, line 4: "downward" -> "upward"
886, line 1: First line of page is missing.  Insert "contribute to the current
	scan line, most scan-line algorithms require primitives to be"
888, line -4: "a, b, c, d, f, g, and h" -> "a, b, c, d, g, and h" 
888, line -3: "e, i j, k, l, m, n, o, and p" ->
	"e, f, i, j, k, l, m, n, o, and p"
890, para 6, line 3: "four times as many chips are needed" ->
	"512 chips are still needed, even though each one contains sixteen
	times the memory actually required"
890, para 6, line -2: "Four-Mbit DRAM" -> "Some 4-Mbit DRAM"
920, Exercise 18.1, line 1: "Section 5.5" -> "Section 5.6"

-- Chapter 19

940, Fig. 19.19 (a) caption: "vertical" -> "more vertical"
942, Fig. 19.21: Remove "^" from dcl of "contourPtr" field of "edge"
954, Fig. 19.32, line -2: "if" -> "if . . ."
957, para -2, line -2: "see" -> "see Exercise 19.14 and"
962, para 2, line 5: Change "along . . . line" from italic to roman.
969, para -1, line 2: "small region near" -> 
	"small region (i.e., a region contained in a disk of radius 2) near" 
969, para 3, line 3: "Then," -> "Then"
981, Fig. 19.55, declarations in BoundaryFill procedure: The "y" should have a
	blank after it, as should "newValue" 
981, Fig. 19.55, line 2: The "y" should be italic, and have a blank after it.
993, line -3: "unions of" -> "as a union of"
1008, Exercise 19.17, line 3: "lie" -> "line"

-- Chapter 20

1038, para 2, line 1: "Dreben" -> "Drebin"
1040, para 1, line -3: "same face" -> "top face"
1040, footnote 7, line 1: "animator" -> "modeler"

-- Chapter 21

1067, Section 21.2.3, para 2, line 7: Add "(or any other attribute)" after
	"representation of the motion" 
1068, DIAL script: "block.d" (line 2) and "r1" (line -1) are set in wrong font

-- Appendix

1084, para 1, line -2: Break to new line before last left paren on line
1092, Fig. A.4 caption: "v and w" -> "u and v"
1094, answer to exercise, line -3: "If it were" -> "If the set were"
1108, Section A.6, para 1, line -3: After "eigenvalue," add
	"and lambda is a real number," 
1110, para 3, line 1: "fhappens" -> "f happens"
1110, para 5, line 1: "from the points" -> "from the point"
1112, Exercise A.7, line 4: "v sub 3 dot w sub 1 cross w sub 2" ->
	"v sub 3 dot ( w sub 1 cross w sub 2 )"

-- Bibliography

1121, item CATM74a: "CATM74a" should be roman
1121: item CGA82: Add "N. Badler, ed.,"
1123, item DASI89: "DaSilva" -> "Da Silva"
1123, item DREB88: "Dreben" -> "Drebin"
1123, item DUVA90: Add authors "W.E. Robbins, R.S. Gyurcsik". Delete "to appear
	in". After "July 1990", delete "." and add ", 36 - 45, 98 - 100." 
1124: Add before item FLEC87, 
	FIUM89  Fiume, E. L. The Mathematical Structure of Raster Graphics,
        	Academic Press, San Diego, 1989.
1125: Add before item FRAN81,
	FOUR88	Fournier, A. and D. Fussell, ``On the Power of the Frame
		Buffer,'' ACM TOG, 7(2), April 1988, 103-128.
1130: Replace item HUBS81 with
	HUBS82	Hubschman, H. and S.W. Zucker, ``Frame-To-Frame Coherence and
		the Hidden Surface Computation: Constraints for a Convex
		World,'' ACM TOG, 1(2), April 1982, 129-162.
1137, item MYER84: "Myer" -> "Myers"
1137, item MYER85: "Myer" -> "Myers"
1138, item NAYL90: "Trees: An Alternative" ->  "Trees as an Alternative"
	"22(2), March 1990" -> "22(4) May 1990, 250-253"
1145, item SKLA90: ", Simple PHIGS" -> "(Simple PHIGS)", "April" -> "August"
1145: Add before item SPAR78,
	SNYD87	Snyder, J.M. and A.H. Barr, ``Ray Tracing Complex Models
1146: Add before item TAMM84,
	TAMM82	Tamminen, M. and R. Sulonen, ``The EXCELL Method for Efficient
		Geometric Access to Data,'' in Proceedings of the 19th ACM
		IEEE Design Automation Conference, Las Vegas, June 14-16,
		1982, 345-351.
		Containing Surface Tessellations,'' SIGGRAPH 87, 119-128.
-- Index

1154, col 1, entry "Attribute": Add ", 18, 19"
1155, col 1, entry "Cathode-ray tube": "639" -> "641"
1156, col 2, entry "Computer-aided design": Add "7," after "5,"
1156, col 2, entry "Constructive solid geometry": Add "560" after "559"
1157, col 1, entry "Convolution": "630" -> "629-633"
1157, col 1, entry "Convolution, graphical": "631" -> "632" 
1157, col 1, entry "CSG": "Constructed" -> "Constructive"
1157, col 2, entry "DC": "626" -> "625"
1158, col 1: entry "Discrete Fourier transform": "626" -> "625" 
1158, col 2, entry "Domain, frequency": "624" -> "623"
1158, col 2, entry "Domain, spatial": "624" -> "623"
1159, col 1, entry "Event": Add "20"
1159, col 1, entry "Event queue": Add "42," before "437-440"
1159, col 2, entry "F(u)": "624" -> "625"
1159, col 2, entry "f(x)": "624" -> "625"
1159, col 2, entry "Film recorder": "639" -> "641" 
1159, col 2, entry "Filter, Bartlett": "639" -> "637"
1159, col 2, entry "Filter, box": "635" -> "636"
1159, col 2, entry "Filter, Gaussian": "630, 636" -> "635, 641"
1159, col 2, entry "Filter, triangle": "636" -> "635"
1159, col 2, entry "Filtering": "629" -> "628"
1160, col 1, entry "Fourier analysis": "624" -> "625"
1160, col 1, entry "Fourier transform": "624" -> "625"
1160, col 1, entry "Fundamental frequency": "624" -> "623"
1160, col 2, entry "Gibbs phenomenon": "633" -> "633-634"
1160, col 2, entry "Harmonic": "624" -> "623"
1161, col 1, entry "Hidden surface elimination": "Hidden surface" ->
	"Hidden-surface", "Visible surface" -> "Visible-surface"  
1161, col 1, entry "Hidden line elimination": "Hidden line" ->
	"Hidden-line", "Visible line" -> "Visible-line" 
1161, col 1, entry "i": "624" -> "625"
1162, col 1, entry "Interaction handling": Add "20"
1162, col 1, entry "Inverse Fourier transform": "626" -> "625" 
1162, col 2, entry "Jaggies": Delete "-629"
1162, col 2, entry "LCD": "639" -> "641, see also Liquid crystal display"
1163, col 1, entry "Locator": Add "20," before "917"
1163, col 2, entry "Mandrill, smiling face of": "618" -> "619"
1165, col 1, entry "Output primitives": Add "18, 19"
1166, col 2, entry "Postfiltering": "643" -> "642" 
1166, col 2, entry "Prefiltering": "643" -> "642" 
1167, col 2, entry "Random scan": Add "9," before "12"
1167, col 2, entry "Rastering": "639" -> "641"
1168, col 1, entry "Reconstruction": "618" -> "619"
1168, col 1, entry "Reconstruction, sample and hold": "639" -> "641"
1168, col 1, entry "Reflection": Add ", Specular reflection" after
	"direction of reflection"
1169, col 1, entry "Sample and hold": "639" -> "641" 
1169, col 1, entry "Sampling": "618" -> "619"
1169, col 1, entry "Sampling, area sampling": "622-624" -> "621-623"
1169, col 1, entry "Sampling, point sampling": "621-622" -> "619-621"
1169, col 1, entry "Sampling, sampling theory": "622, 624-629" ->
	"621, 623-628"
1169, col 1, entry "Sampling, unweighted area sampling": "622" -> "621"
1169, col 1, entry "Sampling, weighted area sampling": "623" -> "622"
1170, col 1, entry "Signal, frequency spectrum": "624" -> "623"
1170, col 2, entry "Sinc function": "631" -> "632-635" 
1171, col 1, entry "Specular reflection, coefficient of": Indent under
	entry "Specular reflection"
1171, col 1, 2nd occurrence of entry "Specular reflection": Remove
	top level entry so subentries are under entry "Specular reflection"
1171, col 1, entry "Square wave": "625" -> "626"
1171, col 2, entry "Stochastic sampling": Add "788-791"
1172, col 1, entry "Supersampling": "621" -> "620"
1172, col 1, entry "Supersampling, adaptive": "646" -> "643-644"
1172, col 1, entry "Supersampling, stochastic": "646" -> "644-645, 788-791"
1172, col 1, entry "Support, of filter": Add "631"
1172, col 1, entry "Surface detail, texture mapping": Add "800"
1172, col 1, entry "Surface patch, cracks": Add "737"
1172, col 1, entry "Surface patch, patch cracks": Delete entry
1172, col 2, entry "Texture mapping": "800" -> "See Surface detail"
1173, col 1, entry "Trigger": Add "42," before "436-439"
1174, col 1, entry "Video signal": "639" -> "640"
1174, col 1, entry "View": Add "19"
1174, col 1, entry "Visible-surface depth-sort, formalization": Delete entry
1174, col 1, entry "Visible-surface determination": Add subentry
	"formalization, 717-718"
1174, col 2, entry "Weiler-Atherton algorithm": "691" -> "693"
1174, col 2, entry "X Windows System": "Windows" -> "Window"
1174, col 2, entry "z-Buffer": Add "algorithm" after "Buffer", add
	"716" after "698"
1174, col 2, entry "z-Buffer, algorithm": Delete entry
1174, col 2, entry "Zoom": Add "182, 362"
1174, col 2, entry "Zooming": Delete entry

-- Color Plates

Color Plate A: "Herbert" -> "Lilac"
Color Plate I.15 caption, line 1: "data glove" -> "DataGlove" (2 times)
Color Plate I.18 caption, line 1: "A tablet-based menu" ->
	"Tablet-based menus."
Color Plate I.25 caption, line 3: Add acute accent on penultimate "e" of
	"Doree"
Color Plate II.2 caption line 3: "graphics arts" -> "graphic arts"
Color Plate II.35 caption, line 1: Add "17.4.2," after "16.3.2"
Color Plate III.2 caption, line -4: "Cook-Torrance illumination model
	(Section 16.7) is" -> "Reflection mapping (Section 16.6) and
	Cook-Torrance illumination model (Section 16.7) are"
Color Plate III.20(a): Flip image so that red side is on the left
Color Plate IV.3 caption, line 2: Add at end, "IBM T.J. Watson Research Center"
Color Plate IV.7: In caption, "(a-e)" -> "(a-d)". Relabel part (e) as part (a)
	of Color Plate IV.8.
Color Plate IV.8: In caption, "A hypertextured blob" -> "(a) A hairy donut
	modelled with hypertextures. (b) A hypertextured blob."
	Relabel current image as part (b).

========================================================================

++2		PART 2: CORRECTIONS TO 1ST & 2ND PRINTINGS

-- Preface

iii (second title page), line 5 (as of 1/1/91):
	"The George Washington University" -> "Georgia Institute of Technology"
xiv, para 6, line 4: "and then cover the key Chapters 13" -> "Chapter 13 on
	color, and then cover the key Chapters 14"

-- Chapter 1

5, bullet 1, lines -2 to -1: "typesetting, drawing, and page-layout software"
	-> "typesetting and drawing software"
12, para 2, line 4: "1204 pixels each must" -> "1024 pixels each, must"
13: Fig 1: "20 percent black screen" -> "light gray shade"

-- Chapter 2

42, para 3, line 3: "then examine SRGP's" -> "and then examine SRGP's"
45, line 4 of code at top: "Typically 3" -> "Typically 1..3"
47: parameter of SRGP_getKeyboard() should be a VAR parameter
47: parameter of SRGP_getLocator() should be a VAR parameter
49, Fig 2.21, line -8 [2nd printing only]: "'if" -> "if"


-- Chapter 3

88, para 3: period at end of equation should be roman.
88, para 3, line -2: "if," -> "if"
90, Fig. 3.21, line -16 [2nd printing only]: italicize "y" in condition
110, Fig. 3.37: Background should be white to make pen style obvious
129, Fig. 3.49, line 2: "t" in "then" should be boldface.
130, Fig. 3.52: "end"s do not line up properly.
136, para 1, line 7: Subscript "s" is too small.
137, Fig. 3.58: Cone in figure is not drawn with a base whose diameter is 2
	grid units, as is claimed in text. 
138, Fig. 3.59 caption: "front" -> "left", "rear" -> "right"
141, Fig. 3.62, line -17: "x" in last "dx" should be italic.

-- Chapter 4

176, para 4, lines 9-10: "preceeded" -> "preceded" (2 times)
176, para 5, line 1: "the the" -> "the"

-- Chapter 5

207, para 3, line 4:  "45" -> "-45"
213, Eq. (5.36), line 2: "r sub 21" -> "r sub 22"
220, line 3: "Fig 5.12" -> "Fig 5.16(b)"
223, lines 7-8: "S(2, 2) dot T(2, 3)" -> "T(2, 3) dot S(0.5, 0.5)" (2 times)
226, Exercise 5.3:  ", and that otherwise they do not." ->
	" or if theta = n  pi for integral n, and that otherwise they do not."

-- Chapter 6

229, line -2:  "hidden-surface removal" -> "visible-surface determination"
241, line -2:  "v sub min" -> "v sub max"
252, line -4: "PRP = (...)" -> "-PRP = -(...)"
253, para 2, lines 11-12 [2nd printing only]: Don't indent "F(VRC)", "B(VRC)"
263, Fig. 6.47(e), left part:  Move x-axis down to be coincident with
	u-axis.  Remove portion of z-axis within rectangle (above u-axis
	and new x-axis).  Shade in entire rectangle, as in part (d).
270, Fig. 6.54, right part:  "y = z" -> "y = -z", "y = -z" -> "y = z"
272, line -2: "procedure Clipt" -> "procedure CLIPt"
274: Fig. 6.55: Change all occurrences of "Clipt" in code and caption
	to "CLIPt"
276, line 1:  "1 -1" -> "1, -1"
277, Fig. 6.58 caption, line 1: "lines" -> "line"
278, para 3, line -3: "hidden surface removal" -> 
	"visible-surface determination" 

-- Chapter 7

285, line -4: "PHIGS'" -> "PHIGS's"
285, footnote 1: "Chapter 14" -> "Chapters 14-16"
288, para -2, line 3: "of computer" -> "of a computer"
300, para 3, line -5: "600" -> "599"
300, para 3: replace "Typically, an......Section 7.10.)" with this:
	For portability, an application should not use NPC space lying outside
	the unit cube; often, however, the benefits of taking full 
	advantage of a nonsquare screen shape are worth the portability 
	cost."
301, Fig. 7.6 [2nd printing only]: "{Clipping planes n}" -> "Clipping planes" 
306, Fig. 7.9: Remove horizontal dashed line labeled "3".  Add minus signs in
	front of horizontal line labels "1" and "2". Remove label "0" from
	horizontal dashed line on x axis.
308, Section 7.5.1, line 4: "with template-" -> "with the template-"
328, Section 7.10, line 1: "SPHIGS'" -> "SPHIGS's"
341, running head: "Hierarchal" -> "Hierarchical"
346, Ex. 7.10: "within P pixels" -> "within P pixel widths"

-- Chapter 8

-- Chapter 9

410, para 2, line -1: "KURL89" -> "KURL90"

-- Chapter 10

440, para 5, line 1: "X Window" -> "the X Window System"
441, para 3, line 2: "X Window" -> "the X Window System"
441, para 5, line 3: "X Window" -> "the X Window System"
444, para 3, line 3: "NeWS also supports" -> "NeWS and X also support"
447, Sec. 10.4, para 2, line 1:  "Section 9.1" -> "Section 10.1"
448, para 1, line -2: "Section 9.1" -> "Section 10.1"
448, para 4, line 4: "NeWS supports" -> "NeWS and X support"
452, para 1, lines 6-7: "X Window and NeWS" -> "X and NeWS" 
452, para 2, line 6: "X Window" -> "X"
455, Fig. 10.16, line 5:  "points (*Name = 'Point Size')" ->
	"points (*Name = 'Point Size'*)"
456, Fig. 10.17, line 8: "File Name = Close" -> "File Name = 'Close'"
456, Fig. 10.17, line 10: "File Name = Save" -> "File Name = 'Save'"
465, para 3, lines 7-9: Move "[OLSE86]" ref up to follow "Olsen's MIKE system"

-- Chapter 11

484, Eq. (11.18), column vector: "P sub 1, P sub 2, R sub 3, R sub 4"
	-> "P sub 1, P sub 4, R sub 1, R sub 4"
485, Fig 11.13 caption, last line:  "(far right" -> "(far right)"
488, Fig 11.19:  points in both parts of figure should be numbered P sub 1
        through P sub 4, instead of P sub 0 through P sub 3
494, Eq. (11.36), line 3: The minus sign between the P sub i-2 and P sub i-1
        polynomials should be a plus sign.  There should be a minus
        sign in front of the 3 t sup 3 term of the P sub i-1 polynomial
497, para -2, line 3: "11.34" -> "11.44"
505, para 2, lines 2 and 3, and para 3, line 3:
        "G sup i sub Bs" -> "G sub Bs sub i"
519, para 2, line 2: Remove "4 x 3" 
522, Eq. 11.88: "t" -> "s" in first two denominators
523, Eq. 11.89: "s" -> "t" in first two denominators

-- Chapter 12

534, Fig. 12.1(b): Reposition points I and J so that JC is collinear with CG
	and of equal length, and IB is collinear with BF and of equal length.
	Then, "(2, 0, -.5)" -> "(1, 0, -1)", "(2, 1, -.5)" -> "(1, 1, -1)".
559, bullet 4, line 3-5: "BSP trees . . . octree representation," ->
	"In contrast, any BSP tree represents a valid spatial set, but not
	necessarily a bounded solid.  Only simple local syntactic checking
	needs to be done to validate a CSG tree (which is always bounded, if 
	its primitives are bounded) or an octree,"

-- Chapter 13

596, Fig. 13.37, line 22: "l + s - l * s" -> "l + s + l * s"

-- Chapter 14

621, Sec. 14.10.2, lines 2-3: "the area of a square centered about 
	each grid point and selecting its" -> "a square centered about each 
	grid point, dividing by the square's area, and using this"
621, Sec. 14.10.2, line 4: "Chapter 2" -> "Chapter 3"
623, Sec. 14.10.3, para 2, lines 2-3: Italicize "harmonics" and "fundamental"
625, para -2, line -2: "f(x).If" -> "f(x). If"
626, Fig. 14.15: Right-hand side of part (b) should have only 5 (not 6) dotted
	horizontal lines, as do the other parts.  Right-hand side of part (c)
	should have magnitude labels ranging from 0 to 32 (not 0 to 120).
627, para 2, lines 4, 5, 13: "Nyquist frequency" -> "Nyquist rate" (3 times)
627, Fig. 14.16 caption, line 1: "Nyquist frequency" -> "Nyquist rate"
629, Eq. (14.7), line 1: Insert space before "k,"
632, lines 5-6: "The product f(tau)g(x  - tau), shown as" ->
	"The integral, with respect to tau, of the product f(tau)g(x-tau),
	which is the area of"
632, para 2, line 3: "function and" -> "function, which"
632, Fig. 14.22 (e) and (f) captions, lines 2-3: "f(tau)g(x - tau)" -> 
	"integral from -infinity to +infinity f(tau)g(x - tau) d tau"
	(2 times)
637, line 1: "at a regular" -> "at regular"
637, line 2: "Fourier" -> "(discrete) Fourier"
642, Fig. 14.31 caption, line 1: "Nyquist frequency" -> "Nyquist rate"
647, Exercise 14.3, line -1: "region." -> "region.  (Apply the inverse Fourier
	transform to your answer.  You should get the original function.)"
647, Exercise 14.4, line 1: "filter" -> "filter of width 2"
647, Exercise 14.4, line 2: "samples." -> "samples.  What happens if the
	filter is wider?"

-- Chapter 15

669, Fig. 15.21, line 8: "WritePizel" -> "WritePixel"
677, line -1: "viewpoint" -> "environment"
711, line -2: "internal nodes either are" -> "internal nodes are either"
720, Exercise 15.25, line 4 [2nd printing only]: "pink mode" -> "pick mode"

-- Chapter 16

757, Eq. (16.31): Missing right paren after equation number.
773, para 2, line -1: "object." -> "object.  A BSP-tree-based approach is 
	discussed in [CHIN90]."
778, para 1, line -1: Add final sentence "(Note that your incident ray may
	be oppositely oriented to those in these sections.)"
784, para 3, line 1: "also mentions" -> "also mention"
789, para 2, lines 2-3: "Nyquist frequency" -> "Nyquist rate" (2 occurrences)
790, Fig. 16.61 caption, line 2: "Nyquist frequency" -> "Nyquist rate"
797, Fig. 16.67: Square d A sub i should be at the center of the hemicube base.

-- Chapter 17

825, Fig. 17.7 [2nd printing only]: The parallelogram base surrounding the
	filter in the upper left should be drawn solid, not dashed.
	In the right-hand grid, the square surrounding the convolution mask
	should be drawn solid, not dashed.
829, Fig. 17.13: Crop black background parts (b-c)
831, para -1, line 2: "WOLB88" -> "WOLB90"

-- Chapter 18

868, Sec. 18.3.3, para 2, line 2: "If a perspective transformation is to be 
	applied ... [end of paragraph]" -> "In general, the bounding planes
	will not be aligned with the coordinate axes.  Each test of a vertex
	against a bounding plane requires 4 multiplications and 3 additions
	(the dot product of a homogeneous point with a 3D plane equation).
	A total of 6 dot 4 = 24 multiplications and 6 dot 3 = 18 additions are
	required per vertex."
869, Sec. 18.3.5, para 1, line -2: "a factor of two" -> "25 percent",
	"8" -> "12",  "6" -> "9"
872, Geometry calculations, para 2, lines 2-5: "18" -> "24", "14" -> "18",
	"30,000 dot 16 = 540,000" -> "30,000 dot 24 = 720,000",
	"30,000 dot 14 = 420,000" -> "30,000 dot 18 = 540,000"
873, para 1, lines 2-4: "2,040,000" -> "2,220,000", "1,350,000" -> "1,470,000",
	"20.4" -> "22.2", "13.5" -> "14.7", and "33.9" -> "36.9" 
873, para 2, line 6: "from the frame buffer, a new z value is written, and 
	a new color is written (3 frame-buffer cycles)" -> "from the frame 
	buffer (1 frame-buffer cycle), the z values are compared (1 
	subtraction), and new z values and colors are written (2 frame-buffer
	cycles)" 
873, para 2, line -3: "and a z value is read from the frame buffer 
	(1 frame-buffer cycle)" -> "a z value is read from the frame buffer 
	(1 frame-buffer cycle), and the two z values are compared
	(1 subtraction)"
873, para 3, line 5: "(750,000 dot 4) + (250,000 dot 1) = 3.25" -> 
	"(750,000 dot 5) + (250,000 dot 2) = 4.25"
873, para 3, line -2: "32.5" -> "42.5"
883, para 4, line -1: Delete ", although they are really reciprocal slopes"
920, para 1, line -1: "flight-stimulation" -> "flight simulation" 
920, Exercise 18.2, line 6: "Section 18.3.8" -> "Section 18.3.9"
921, Exercise 18.3, line 1: "Section 18.3.8" -> "Section 18.3.9"

-- Chapter 19

927, Fig. 19.4: diagonal lines should pass through the corners of the 
	rectangle exactly
928, Fig. 19.5, line 4: Reduce pointsize of "var P, Q : point"
952, Fig. 19.29: Line up comment on declaration of deltaSE
953, line after 1st displayed equation: "- P" -> "-P"
953, line after 3rd displayed equation: "new conic" -> "new conic,"
954, para 3, line 2: "u sub i + 1" -> "u sub {i + 1}"; "v sub i + 1" ->
	"v sub {i + 1}" -- i.e., each "+ 1" should be in the subscript
969, para -1, line 2 [2nd printing only]: "dish" -> "disk"
993, para -2, line -1 [2nd printing only]: "union" -> "a union"
995, Fig. 19.67, line 12 of text: Insert blank between "while" and "("
1006: Exercise 19.3, line 1: "Barksy" -> "Barsky"

-- Chapter 20

1021, para 2, line -1: "20.5" -> "20.5(a)"
1021, footnote 3, line 3: "(a + c) - (b + d)i" -> "(a + c) + (b + d)i"
1028, line -1: "called called" -> "called"
1039, para 2, line 1: "Color Plate IV.1" -> "Color Plate I.1"
1039, para 2, line 2: "human body" -> "child's head"
1047, Section 20.8.4, para 1, line 11: "Nishita" -> "Nishimura"

-- Chapter 21

1066, line 4: ";" -> ":"
1068, DIAL script: Each character, including blanks and "-", should be set with
	constant width, so they line up in columns

-- Appendix

1111, Exercise A.1, line 2: "light ray" -> "ray from the light"
1111, Exercise A.1, line 3: "direction vector" -> "direction vector u" 
	("u" should be bold)
1111, Exercise A.1, answer, line -1: Add at end: "(Note that the light ray is
	the opposite of the ray L bar in Chapter 16.)" 
1112, Exercise A.6, part a, line 3: Surround answer with "1/2( )"
1112, Exercise A.6, part b, line 2: "and" -> "(v sub n = v sub 1), and" 
	Add at end of exercise: "Compare this with Eq. (11.2)."
1112, Exercise A.7, line 4 [2nd printing only]: "v sub 3 (" -> "v sub 3 dot ("

-- Bibliography

1115, item AMAN87: "Kunii, T.L. . . . 149-155" ->
	"Marechal, G., ed., Eurographics 87: Proceedings of the
	European Computer Graphics Conference and Exhibition, Amsterdam, 
	August 24-28, 1987, North Holland, Amsterdam, 1987, 3-10"
	[acute accent over "e" in "Marechal"]
1120, item CACM84: "An" -> "Computer Graphics Comes of Age: An",
	"August 1984" -> "July 1984, 638-648" 
1128, item GSPC77: "Committee" -> "Committee of ACM/SIGGRAPH", "11," ->
	"11(3), Fall" 
1128, item GSPC79: Unitalicize and quote title. 
1132, item JOVA86: Add accent over "c" in "Jovanovic'"
1133, item KURL89: "KURL89" -> "KURL90", "1989" -> "1990, 257-275"
1145, item SKLA90 [2nd printing only]: ", (Simple" -> " (Simple"
1145, item SNYD87 [2nd printing only]: "Tessellations," -> "Tessellations,''"
1150, item WOLB89: "Technical Report . . . 1989" -> "SIGGRAPH 89, 369-378"
1150, item WOLB90: "Washington, DC" -> "Los Alamitos, CA"

-- Index

1154, col 2, line 3: "visible surface" -> "visible-surface"
1155, col 2, entry "Clipping": Delete subentry "three-dimensional" and add
	its page numbers to those of existing subentry "3D"
1155, col 2, entry "Clipping, 3D Liang-Barskey": "Barskey" -> "Barsky"
1162, col 2, entry "Kochanek-Bartels spline": "507, 515-516" ->
	"see Splines, Kochanek-Bartels"
1164, col 2, entry "Nyquist frequency": "frequency" -> "rate",
	"626-627, 789" -> "627-628, 788-790"
1168, col 1, entry "Ray Tracing, recursive": Add "776-793"
1171, col 1, entry "Splines", subentry "continuously shaped beta-splines":
	Change subentry name to "beta-splines" and change page numbers to
	"505-507, 515-516"
1171, col 1, entry "Splines": Add subentry "Kochanek-Bartels, 507, 515-516"
1172, col 1, entry "Surface detail": Delete "see also Texture mapping"
1172, col 2, entry "Total internal reflection": Add "758" 
1174, col 2, entry "Window": Move "907-908" to become subentry
	"hardware-assisted"
1174, col 2, entry "Window, pick": Move to become subentry "pick" indented
	under entry "Window"

-- Color Plates

Color Plate II.6: Replace with plate that uses pure process colors
Color Plate IV.10 caption, line -2: "Sasketchewan" -> "Saskatchewan"

-- Dust Jacket

dust jacket, inside front flap, line 6: 
	Replace first sentence with: "James Foley (Ph.D., University of
	Michigan) is professor of computer science and director of the
	Visualization, Graphics, and Usability Lab in the College of Computing
	at Georgia Institute of Technology."
dust jacket, inside back flap, line 2: "assistant" -> "associate"
dust jacket, back, line 4:
	"The George Washington University" -> "Georgia Institute of Technology"

========================================================================

++3	     PART 3: CORRECTIONS TO 1ST - 3RD PRINTINGS

-- Preface

xv, Acknowledgements, para 2, line 13:  add "Nelson Max" to list of names

-- Chapter 1

-- Chapter 2

58, Section 2.3.4, equation: In "D <- S op D", only "op" should be bold.

-- Chapter 3

82, line 4: "R cos theta or R sin theta" -> "(R cos theta, R sin theta)"
84, line 2: "If the midpoint" -> "It can be shown that if the midpoint"
96, line -4: "similar" -> "similar, though somewhat trickier,"
98, step 3.1: after "then sort the AET on x", add:
	" (made easier because ET is presorted)"
99, para 3, lines 2-4: "generates one or more new pixels. . . minimum or
	maximum x value." -> "in Step 3.5 generates multiple pixels falling on
	the same scan line, the span extrema must be updated appropriately."
115, para 2, line 3:  "choses" -> "chooses"
115, para 3, line 2:  "choses" -> "chooses"
118, line -3: "Let D be the vector from P0 to P1 = (P1 - P0)" ->
	"Let D = (P1 - P0) be the vector from P0 to P1"
120, para -2, line 1: "The completed algorithm is pseudocoded in Fig. 3.44."
	-> "The completed algorithm for upright clip rectangles is pseudocoded
	 in Fig. 3.44." (and move to beginning of para -1)
120, para -1, line 1: "To simplify the coding for upright clip rectangles,
	we create Table 3.1 to show," -> "Table 3.1 shows"
120, para -1, line 4: After "coordinate of P sub Ei", add:
	" (denoted by an indeterminate x or y)"
121, Table 3.1, add a footnote:
	"The exact coordinates of the point P sub Ei on each edge are
	irrelevant to the computation, so they have been denoted by variables
	x and y.  For a point on the right edge, x = x sub min, as
	indicated in the first row, third entry."
123, line -7: "coordinate" -> "parameter"
130, Fig. 3.51: Line up each record definition's end with the name of
	the record and indent  each record's contents by one tab stop.
137, para -2, lines 5-6: "intersects three supports in a column" ->
	"typically intersects three supports in a column, minimally two and
	maximally five"

-- Chapter 4

-- Chapter 5

206, lines -1 to -2:  "The directions specified by ... of 1)" -> 
	"The first and second vectors will be rotated by R(theta) to lie
	on the positive x and y axes, respectively (in the presence
	of conditions 1 and 2, this is equivalent to the submatrix
	having a determinant of 1)."
207, para 2, line 4:  "diamond" -> "rhombus"
211, para 2, line 5: "primitves" -> "primitives"
212, Eq. (5.33), last matrix, last column:
	"-x" -> "-x sub min", "-y" -> "-y sub min"
217, para 3, line 4:  "Equation (5.48)" -> "The N' of Eq. (5.48)"
220, para 3, line 3:  "Given" -> "Replacing the second subscripts of 
        Eq. (5.45) with x, y, and z for notational convenience"
225, para 2, line -3:  "x and y" -> "x and z"
226, Exercise 5.3 [3rd printing only]:  "pi" ->
	"pi for integral n, and that otherwise they do not."
227, line -1: Add the following exercise:
	"5.19 Suppose that you are creating an interface to rotate an object
	by applying many incremental rotations, using ``Spin X,''
	``Spin Y'' and ``Spin Z'' buttons.  Each time one of these
	buttons is pressed, the current rotation matrix is replaced by its
	product with a matrix that rotates slightly around the specified axis.
	Although this idea is mathematically correct, in practice 
	cumulative floating-point roundoff errors will result that will
	cuase points to be transformed incorrectly. Show
	that by applying the Gram-Schmidt process to the columns of the matrix
	(see Section A.3.6) you can convert the new matrix back to an
	orthonormal matrix.  Also explain why, if it is already orthonormal,
	applying this process will not change it."

-- Chapter 6

236, para 2, lines 7 and 8:  "1)" -> "-1)" (one occurrence on each line)
263, Fig. 6.47(e), right part:  Top ridge line of house should be parallel 
	to other lines.
264, Fig 6.49, parts (a, b):  VPN should point in the opposite direction.
264, para 2, lines 1 and 4:  "Section 5.5" -> "Section 5.6" (2 occurrences)
269, para 3, line 5: "vrp sub z '" -> "- vrp sub z '"
270, para 1, line 1:  "front clipping plane and projection plane" ->
        "projection plane and clipping planes"
271, Sec. 6.5.3, para 2, line 1:  "algorithm" -> "algorithm for the
        canonical parallel view volume"
273, Table 6.1, footnote, line 1:  Add at end:
        "The exact coordinates of the point P sub Ei on each edge are
        irrelevant to the computation, so they have been
        denoted by variables x, y, and z. For a point on the right
        edge, z = -x, as indicated in the first row, third entry."
275, para 2, line 1:  "With regard to clipping" -> "With regard to
        clipping, it can be shown that"
275, Eq. (6.48):  "z sub min" -> "z sub roman min" (4 times), "- z" -> "-z"
277, Figure 6.58 caption, line 1:  "lines segment" -> "line segment"
278, Sec. 6.5.5, para 3, lines 5-6:  "size of the view volume" ->
        "size of the 3D viewport"
278, Sec. 6.5.5, para 3, line 7 and Eq. (6.54): Each term in both equations
	for S should be its reciprocal:
	"S (2/(x sub v.max - x sub v.min), 2/(y sub v.max - y sub v.min),
	1/(z sub v.max - z sub v.min))" ->
	"S ((x sub v.max - x sub v.min)/2, (y sub v.max - y sub v.min)/2,
	z sub v.max - z sub v.min)"
278, Sec. 6.5.6, para 1, line 1:  "first" -> "The first"

-- Chapter 7

-- Chapter 8

-- Chapter 9 

-- Chapter 10

455, para 2, line 2: "MICKY" -> "Mickey"
455, Fig. 10.16 caption: "MICKY" -> "Mickey"
456, Fig. 10.17 caption: "MICKY" -> "Mickey"

-- Chapter 11

480, Fig. 11.7 caption, line 2:  "dotted lines" -> "dashed lines"
481, Fig. 11.9 caption, line 1:  "joint" -> "join"
481, Fig. 11.9 caption, line 2:  "P" -> "P sub 2"
490, para 2, line 3:  "everywhere nonnegative." -> 
        "everywhere nonnegative for 0 <= t < 1."
494, Eq. (11.36), line 3 [3rd printing only]: There should be a minus
        sign in front of the 3 t sup 3 term of the P sub i-1 polynomial
494, Fig 11.24: The curves B sub Bs sub -2 and B sub Bs sub -1 are
        traced incorrectly.  The slight dip at f(t) = 1/6 is incorrect;
        the curves should not have the inflection point, but should head
        up more steeply.
505, Eq. (11.47):  Immediately following the 1/2 should be " dot T dot"
513, Fig. 11.36, lines 11-12, last assignment statement on each line: 
	"=" -> ":="
517, Sec. 11.3.1, para 2, line 2:  "are coplanar" -> "are also coplanar"
518, Eq. (11.79):  "G sub Hx" -> "G sub Hx sup T"
518, Eq. (11.80): the matrix G sub Hx should be transposed to:
        g Sub 11   g Sub 12   g Sub 13   g Sub 14
        g Sub 21   g Sub 22   g Sub 23   g Sub 24
        g Sub 31   g Sub 32   g Sub 33   g Sub 34
        g Sub 41   g Sub 42   g Sub 43   g Sub 44
525, Fig. 11.46, procedure DrawSurfaceFwdDif, line 12:  remove delta := 1/n
         (delta is not used in the program, only n is used)
530, Exercise 11.14, line 1: "C sub 2" -> "C sup 2"
531, Exercise 11.16, line 2: "G sub Bs sup i" -> "G sub Bs sub i"

-- Chapter 12

539, lines 3-4: "B bar (the complement of B) can be obtained" ->
	"We can obtain B bar (the complement of B)"
550: line -5, After "reached." add "Whenever four sibling quadrants are
	uniformly full or empty, they are deleted and their partially full
	parent is replaced with a full or empty node.  (A bottom-up approach
	can be used instead to avoid this deletion and merging process
	[SAME90b].)"  

-- Chapter 13

566, para 2, last line:  "64" -> "32"
568, para 2, line 7: "circles" ->
	"variable-sized and variable-shaped areas [ULIC87]"
573, para 2, line 2: "as follows:" -> "for pixels in scan-line order, working
	downward from the topmost scanline:"
576, para 2, lines 5-7:  "Luminance, which is proportional to the
        integral of the area under the curve weighted by the luminous
        efficiency function" -> "Brightness, which is proportional
        to the integral of the product of the curve and the
        luminous efficiency function"
580, caption for Fig 13.23:  "The X + Y + Z = 1 plane is shown, along
        with the intersection of the cone with the plane." -> "The X + Y
        + Z = 1 plane is shown."
        (The intersection is not included in the figure.)

-- Chapter 14

626, line -4: "BRIG74]." -> "BRIG74].)"
630, line 2: "g(x)" -> "g(x) flipped about its vertical axis and"
630, line 4: "filter g(x) centered" -> "a flipped copy of filter g(x)
	positioned"  
645, Fig. 14.33 caption. Add before "(Courtesy", "Images are 512 x 512,
	and filters are 7 x 7.  Middle scan line is at bottom of
	a checkerboard row.  Because 2D filter covers light and
	dark squares above and below scan line, amplitude of filtered
	checkerboard signal along middle scan line is greatly diminished."

-- Chapter 15


658, Eq. (15.1): "]." -> "], z sub min != -1" (where "!=" is a not equal sign)
658, para -1, line 4: "matrix" -> "matrix from Eq. (6.48)"
681, line 3: delete ", which"
681, line 4: "based on the edge's slope, contain" -> "are ordered by increasing
	x coordinate of their lower endpoint.  Each entry contains"
682, line -5: "Therefore," -> "Therefore, assuming nonpenetrating polygons,"
685, para 1, line -1: "visible and" -> "visible because the cube has been 
	clipped, and it"
685, Fig. 15.40 caption: "invisible table" -> "invisible-surface table"
705, para -2, line -2: "1" -> "-1" in definition of "T"
707, procedure HIER_traverse: Replace procedure body with:
	if r intersects n's bounding volume then
	   if n is a leaf then
	      intersect r with n's object
	   else
	      for each child c of n do
		 HIER_traverse (r, c)
713, Table 15.2: Delete asterisks from Boolean operators.
714, equation before para -1: Surround equation with "1/4 [" and "]"

-- Chapter 16

724, para -2, line -1: "alike" -> "alike, as if the surface were lit by two
	opposing lights" 
725, Fig. 16.3 caption: "From" -> "For all spheres, I sub p = 1.0.  From"
725, Fig. 16.4 caption: "spheres," -> "spheres, I sub a = I sub p = 1.0," 
726, Eq. 16.8: "max" -> "min"
727, Fig. 16.5 caption: "spheres," -> "spheres, I sub a = I sub p = 1.0," 
728, Fig. 16.7 caption: "spheres," -> "spheres, I sub a = I sub p = 1.0," 
729, Fig. 16.9: Was redone without potentially confusing margins.
730, para -1, line 4: "similar triangles" -> "vector subtraction and congruent
	triangles"
730, Fig. 16.10 caption: "spheres," -> "spheres, I sub a = I sub p = 1.0," 
737, line 4: "II.30." -> "II.30.  (See caption to Color Plate II.21.)"
753, para 1, line -1: "here." -> "here. (See Exercise 16.15.) 
760, lines -1, -2: "hemisphere" -> "sphere" (2 times)
761, line 1:  "hemisphere" -> "sphere"; After "radius r." add "If a point is
	on a surface, we are concerned with the hemisphere above it."
761, para 1, line -1: "hemisphere" -> "sphere or hemisphere"
762, Fig. 16.39 caption: "from a point. . . radius" -> "from a point
	on a surface is the area covered by the object's projection onto a
	unit hemisphere above the point."
764, Sec 16.7.1, para 3, line 1: "The specular component of the bidirectional
	reflectivity is" -> "For the specular component of the bidirectional
	reflectivity, Cook and Torrance use"
764, Sec 16.7.1, para 3, line 6: "The pi in the denominator accounts for
	the surface roughness." -> "The pi in the denominator is intended
	to account for surface roughness (but see [JOY88, pp. 227-230] for 
	an overview of how the equation is derived).
765, footnote: "HALL88" -> "HALL89"
771, para 2, line 4: "WOLF88" -> "WOLF90"
789, line -4: "distributing the rays" -> "distributing the shadow rays"
791, Fig. 16.62 caption, line -1: "(b)-(d)" -> "(b)-(e)"
814, Ex. 16.15, line -1: ".)" -> ".  Explain how extra storage at each pixel,
	as described in Exercise 16.14, could be used to design a shadow
	postprocess that produced correct shading and proper highlights.)"

-- Chapter 17

822, lines 5-6: "We can use. . . algebraically." ->
	"(A tick at the left side of a column is considered to be in the 
	column, whereas ticks on the right are not.)"
823, Fig. 17.5, line 12: "(ceiling" -> "ceiling"
823, Fig. 17.5, line 15: "array r" -> "array roth"
823, Fig. 17.5, line 21: "for j := 1 to p" -> "for j := 1 to targetWidth"
823, line 2:  "difficulty and the effects of working around it" ->
	"and other drawbacks of transformation algorithms"
826, Fig. 17.9:  Only middle part is OK. Left part: Exchange the 
	labels "Side 1" and "Side 2". Right part: Exchange the labels
	"Base" and "Side 2". 
843, para 1, line 4: "19.6.3" -> "19.5.3"
843, para 2, line 1: "19.6.2" -> "19.5.2"
848, Fig. 17.23, line 25: "if LiesIn(x,y,i,j) then d" ->
	"if LiesIn(x,y,i,j) then"
850-851, line -1 to line 1: "Chapter 20" -> "Section 19.3.4"
853, exercise 17.10, part a, line -1: "V" -> "v", "Tu" -> "Ty"

-- Chapter 18

901, para 2, line 3: "SHAW88" -> "SHAW91"

-- Chapter 19

951, Section 19.2.6, para 2, line 5: "five" -> "six"
954, Fig. 19.31 (c): The tick just above "7" and that below "3" should
	be horizontal. 
957, para -2, line -1: "DASI88" -> "DASI89"
957, para 4: Replace last sentence with "Surprisingly, the code that 
	updates the increments during the first two octant changes actually 
	works for all octant changes."
968, line -4: "(D+A)" -> "(d+A)"
976, line 2: "subtraction." -> "subtraction.  If the pixel overlaps all four 
	sides, we need to perform another addition and subtraction."
990, Fig. 19.62 (cont.):  Indent one additional tab stop the first line
	beginning "end"
995, Fig. 19.67: Undent the last "else" one tab stop so it lines up with
	its "if"

-- Chapter 20

1021, Fig. 20.5: Three important dots were left out, roughly at the centers
	of the three "lobes" of the figure.
1035, para 4, line 2: "A first step in this direction was provided by the
	marching-cubes algorithm" -> "One approach (though by no means the
	first) is the marching-cubes algorithm"
1043, Section 20.8.1, lines 5-6: "(perturbing . . . [MAX81]." ->
	"(although one of the first widely-shown examples actually raytraced
	a complete height field [MAX81])."

-- Chapter 21

1064, Section 21.1.4, para 2, line 4: "i + 1" -> "i - 1"

-- Appendix

1108, para 3, line 4: After "same way as the point" add " (but with no
	translation, because the last component of the vector is 0)"
1112, Exercise A.4, line 2: "(x - x sub 0)" -> "(x sub 1 - x sub 0)"
1112, Exercise A.6, part b, equation: Add "1/2" before sigma.

-- Bibliography 

1113, Abbreviation "CGVIP Computer Graphics, Vision,..." ->
	"CVGIP Computer Vision, Graphics,..."
1133; Add before item KOCH84:
	KOCA87	Kocak, H., F. Bisshopp, D. Laidlaw, and T. Banchoff,
		``Topology and Mechanics with Computer Graphics: Linear
		Hamiltonian Systems in Four Dimensions,'' Advances in Applied
		Mathematics, 1986, 282-308.
1133, item KRUE83: "R." -> "M."
1136, item MAX84: "CGVIP" -> "CVGIP"
1137, item MUNS76: "MD ," -> "MD,"
1139, item OLSE89, line 2: "175-176" -> "171-176"
1143, item SARR83: "CGIP" -> "CVGIP"
1144, item SHAO86: "SHAO86" -> "SHAO88"
1144, item SHAW88: "SHAW88" -> "SHAW91", "To appear in" -> "In",
	"1989" -> "1991, 183-199"
1144: Add before item SHAN87,
	SEQU89	Sequin [acute accent over "e"], C.H. and E.K. Smyrl,
		``Parameterized Ray Tracing,'' SIGGRAPH 89, 307-314.
1145, item SMIT88: "D." -> "D.N.", "New York" -> "New York, 1988"
1150, item WOLF88: "WOLF88" -> "WOLF90", ", Technical Report. . .1988" ->
	",'' CG & A, 10(6), November 1990, 44-55"
1150, Add after item WOOD70 [3rd printing only]:
	WOOD76	Woodsford, P. A., ``The HRD-1 Laser Display System,''
		SIGGRAPH 76, 68-73.
1151: Add before item WU89 [2nd and 3rd printing only]:
	WOON71	Woon, P.Y. and H. Freeman, ``A Procedure for Generating 
		Visible-Line Projections of Solids Bounded by Quadric
		Surfaces,'' in IFIP 1971, North-Holland, Amsterdam,
		1971, 1120-1125.  Also in FREE80, 230-235.
	WRIG73	Wright, T.J., ``A Two-Space Solution to the Hidden Line Problem
		for Plotting Functions of Two Variables,'' IEEE Trans. on 
		Computers, 22(1), January 1973, 28-33.  Also in 
		FREE80, 284-289.
-- Index 

1154, col 1, entry "Bezier curve": delete this entry (but keep "Bezier curves")
1157, col 2, entry Curved surfaces: "see also Visible surface determination" ->
        "516-529, see also Surface patch"
1164, col 1, entry "MICKY UIMS": "MICKY" -> "Mickey"
1165, col 2, entry "Patch": "Splines" -> "Splines, Surface patch"
1172, col 1, entry "Surface patch": Add "see also Curved surfaces";
        subentry "cracks": add "527-528"

-- Color Plates

Color Plate III.6 caption, line 3: "shadow-volume BSP" -> 
	"object-precision shadow-volume BSP tree"
Color Plate III.6 caption, line 9: "Dark gray fragments are lit by both lights"
	-> "Dark gray fragments are lit by no lights"

-- Dust Jacket

========================================================================

++4	     PART 4: CORRECTIONS TO 1ST - 4TH PRINTINGS

-- Preface

xvi, para -1, line -1 [4th printing only]: "765" -> "1175"

-- Chapter 1

20, para 2, line 3: "or" should be roman 

-- Chapter 2

47, Fig. 2.19, line 3: Replace entire SRGP_text call with:
	SRGP_defPoint(100, 100, p);
	SRGP_text(p,
	'Specify one or more files to be deleted; to exit, press Return.');
51: Fig 2.22: Call to ProcessObject should be indented on separate line.
55, line -2: "PostScript offer" -> "PostScript offers"
66, Exercise 2.15: "``grayed out;''" -> "``grayed out'';"
113, line -4: "9 )" -> "9)"

-- Chapter 3

134, para 2, line 2: "such as (2, 3), not intersected by the line" ->
	"not intersected by the line, such as (2, 3),"
138: Fig. 3.59: Unfiltered half is too dark. 

-- Chapter 4

-- Chapter 5

203, para 3, line 1:  "(5.5)" -> "(5.6)"
205, para 2, lines 6-7:  "matrixes" -> "matrices" (2 times)
206, lines -3 to -2 [4th printing only]:  
	"can be moved by a rotation to" -> "will be rotated by R(theta) to
	lie on"
213, Eq. (5.36), line 2: "r sub 12" -> "r sub 21"
218, line 6: In step 4, "P sub 1 P sub 2"  -> "P sub 1 P sub 3"
219, Fig. 5.18: All points in figure and caption should have double primes ('')
220, Eq. 5.60: Delete left parenthesis under the square root sign
224, Fig. 5.25: labels on x axes in both parts should be "x sup (1)" not
	"y sup (1)"

226, Exercise 5.3 [4th printing only]:  "or if theta = n dot pi, and scaling
	commute if s sub x = s  sub y or if theta = n pi." ->
	"and scaling commute if s sub x = s sub y or if theta = n pi for
	integral n, and that otherwise they do not." 

227, Exercise 5.15, Eq. (5.79), row 1, col 2: "+ u sub z sin theta" ->
	"- u sub z sin theta"

-- Chapter 6

230, Fig 6.1: "view column" -> "view volume"
234, Fig. 6.7 caption: "Association of" -> "Association for" 
244, Fig. 6.26 (b):  "PRP" label should be "VRP", VUP vector should be
	in the (V, N) plane, would be nice if house were on other side of 
	(U, V) plane. 
252, line -4 [3rd and 4th printings only]: "-PRP = (...)" -> "-PRP = -(...)"
263, Fig. 6.47(e), right part: The final view volume shown here is not
	the canonical view volume.  It extends much more in positive y 
	than it does in negative y.
266: Fig. 6.51: Shade view volumes to be consistent with those in Fig. 6.47.
270, eqn 6.40:  Add a footnote to the equation:
	"z sub min and z sub max are named based on their absolute value 
	relationship, as z sub min is algebraically greater than z sub max."
275, Eq. (6.48), row 3, col 4:), "- z" -> "-z" (delete space)

-- Chapter 7

304, line -2: "display." ->
	"display. (As we will see later, hierarchy complicates this rule.)"
306, para 2, line 3: "dotted" -> "dashed"

-- Chapter 8

-- Chapter 9

-- Chapter 10

440, para 5, line 1 [3rd and 4th printing only]: "X Window System" ->
	"the X Window System"
441, para 3, line 2: [3rd and 4th printing only]: "X Window System" ->
	"the X Window System"

-- Chapter 11

497, para -3, lines 6-8:  "For this particular knot vector, the B sub i,4 (t)
	are the uniform B-spline blending functions; compare them to those in
	Fig. 11.24." -> "For this particular knot vector, the B sub i,4 (t)
	are the Bernstein Polynomials, that is, the Bezier blending
	functions; compare them to those in Fig. 11.20." 

498, Fig 11.26:  The blending functions in Fig. 11.26 are replaced by:
	B sub 2,2 (t) = 1-t
	B sub 3,2 (t) = t
	B sub 1,3 (t) = (1-t) sup 2
	B sub 2,3 (t) = 2t (1-t) 
	B sub 3,3 (t) = t sup 2
	B sub 0,4 (t) = (1-t) sup 3
	B sub 1,4 (t) = 3t (1-t) sup 2
	B sub 2,4 (t) = 3 (t sup 2) (1-t)
	B sub 3,4 (t) = t sup 3

    	(This can be accomplished by swapping the current B sub 2,2 and
	B sub 3,2, replotting the B sub i,3, and replacing the B sub i,4 with
	the four curves from Fig. 11.20, with B sub B sub 1 being B sub 0,4,
	B sub B sub 2 being B sub 1,4, etc.)

page 505, para 2, line -1:  "BARR89" -> "BARR88b"

-- Chapter 12

-- Chapter 13

564, para -1, line 4: "mimimum" -> "minimum"
573, para 2, line 2 [4th printing only]: "as follows, with y assumed increasing
	from top to bottom:" -> "for pixels in scan-line order, working
	downward from the topmost scanline:"
580, para 2, line 1:  "fuctions" -> "functions"
589, Section 13.3.3, line 4: "Standards" -> "System"

-- Chapter 14

-- Chapter 15

650-720: "Visible-surface" -> "Visible-Surface" in even-page running head.

-- Chapter 16

-- Chapter 17

826, Fig. 17.9:  The left part of the figure should be moved all the way to
	the right, so that if the current order is abc, the new order is bca. 

-- Chapter 18

-- Chapter 19

990, Fig. 19.62 (cont.):  Undent one tab stop the "else" (and the "begin-end"
	body underneath it) so that the "else" lines up with the "if" at the
	top of the page.
1006, Exercise 19.2, line 2: "Hodgeman" -> "Hodgman"
1006, Exercise 19.2, line 3: "```cancels''" -> "``cancels''", 
	"succesive" -> "successive"

-- Chapter 20

1020, Fig. 20.4: The bump in the part (a) is supposed to be equilateral, i.e.,
	the gap in the base should have a width that is the same as the
	length of each sloped edges.  Instead, each sloped edge is slightly
	shorter than it should be.  This mistake is propagated throughout
	the rest of the figure.
1026, line -4: "IFS reveals" -> "IFSs reveals"
1046, para 3, line -1 [1st, 3rd, 4th printings only]: "III.22(a)" ->
	"III.22(c)"

-- Chapter 21

-- Appendix

1104, line 9: In definition of det A, expression after sigma should be
	 (-1) sup {i + 1} a sub {1i} A sub {1i}
1112, Exercise A.6, part b, line 2  [3rd printing only] or
	line 1 [4th printing only]: 
	"x sub roman i y sub 1" -> "x sub i y sub i"

-- Bibliography

1116, item BARR89b: BARR89b -> BARR88b, "SIGGRAPH 89" -> "SIGGRAPH 88"
1117; Add after item BECK63:
	BEDF58	Bedford, R. and G. Wyszecki, ``Wavelength Discrimination for
		Point Sources,'' Journal of the Optical Society of America,
		48, 1958, 129-ff.
1150, item WHIT84: "Whitten" -> "Whitton"
1151, item WOON71 [4th printing only]: "Proceedings 1971 IFIP Congress,
	North-Holland Pub. Co., Amsterdam, 1971, pp. 1120-1125" ->
	"in IFIP 1971, North-Holland, Amsterdam, 1971, 1120-1125. 
	Also in FREE80, 230-235"
1151: Delete item WRIG72 [4th printing only] 

-- Index

1154, col 1, entry "Attribute": Add "Attribute, SPHIGS, 298, 318-321"
1155, col 2, entry "Clipping, 3D Liang-Barsky" [3rd & 4th printing only]:
	Delete "."
1157, col 1: Add entry "CSS, see Central Structure Storage"
1157, col 1: Add entry "Culling, structure network, 340"
1158, col 1, entry "Direct-view storage tube (DVST)": "416" -> "161"
1158, col 1: Add entry "Display procedure, 308" 
1159, col 1, entry "Event": Add subentry "Event, input, 42"
1161, col 1: Add entry "Hierarchical display list, 176, 291"
1165, col 1, entry "Painting": Add subentry "painting, versus drawing, 61" 
1167, col 1: Add entry "Pruning, structure network, 340"

-- Color Plates

Color Plate I.28 caption: Delete glitch under "e" of "Microsystems"
Color Plate I.33: Obscure labels on the colors completely.
Color Plate II.13: The yellow squares are actually slightly different in
	color due to printing problems.
Color Plate IV.15 caption, line 2: Delete ", and a collection of cloth sheets
	under tension"

-- Dust Jacket

dust jacket, inside front flap, van Dam bio, line 7: "and senior consulting
	scientist at BLOC Development, Electronic Book Technologies, and
	Computervision" -> "senior consulting scientist at BLOC Development
	and Electronic Book Technologies, and on Technical Advisory Boards
	for ShoGraphics and Microsoft"
dust jacket, inside front flap, van Dam bio, line -5,: "and in 1990,
	the NCGA Academic Award" -> "in 1990, the NCGA Academic Award; and
	in 1991, the SIGGRAPH Steven A. Coons Award" 
dust jacket, inside back flap, Feiner bio, line 7:
	"and" -> "virtual worlds, and"
dust jacket, inside back flap, Feiner bio, line -3: Add before "Dr.",
	"In 1991 he received an ONR Young Investigator Award."


