The book:
 title: Graphics Gems IV
 editor: Paul S. Heckbert
 published: AP Professional (Academic Press), Boston, 1994
 price: 49ドル.95
 575 pages, comes with either MAC or IBM floppy disk
 ISBN 0-12-336156-7 with MAC floppy
 ISBN 0-12-336155-9 with IBM (DOS) floppy (5.25")
Below are two things:
 * the preface to the book, to explain what it is about
 * the table of contents
======================================================================
PREFACE
This book is a cookbook for computer graphics programmers, a kind of
``Numerical Recipes'' for graphics. It contains practical techniques
that can help you do 2D and 3D modeling, animation, rendering, and
image processing. The 52 articles, written by 54 authors worldwide,
have been selected for their usefulness, novelty, and simplicity. Each
article, or ``Gem'', presents a technique in words and formulas, and
also, for most of the articles, in C or C++ code as well. The code is
available in electronic form on the IBM or Macintosh floppy disk in the
back pocket of the book, and is available on the Internet via FTP (see
address below). The floppy disk also contains all of the code from the
previous volumes: Graphics Gems I, II, and III. You are free to use
and modify this code in any way you like.
A few of the Gems in this book deserve special mention because they
provide implementations of particularly useful, but non-trivial
algorithms. Gems IV.6 and IV.8 give very general, modular code to
polygonize parametric and implicit surfaces, respectively. With these
two and a polygon renderer, you could probably display 95% of all
computer graphics models! Gem I.5 finds 2D Voronoi diagrams or
Delaunay triangulations. These data structures are very widely used
for mesh generation and other geometric operations. In the area of
interaction, Gem III.1 provides code for control of orientation in
3-D. This could be used in interactive 3-D modelers. Finally, Gem I.8
gives code to find collisions of polyhedra, an important task in
physically-based modeling and animation.
This book, like the previous three volumes in the Graphics Gems series,
lies somewhere between the media of textbook, journal, and computer
bulletin board. Textbooks explain algorithms very well, but if you are
doing computer graphics programming, then they may not provide what you
need: an implementation. Similarly, technical journals seldom present
implementations, and they are often much more theoretical than a
programmer cares for. The third alternative, computer bulletin boards
such as the USENET news group comp.graphics.algorithms, occasionally
contain good code, but because they are unmoderated and unedited, they
are so flooded with queries that it is tedious to find useful
information. The Graphics Gems series is an attempt at a middle
ground, where programmers worldwide can contribute graphics techniques
that they have found useful, and the best of these get published. Most
of the articles are written by the inventors of the techniques, so you
will learn their motivations and see their programming techniques
firsthand. Also, the implementations have been selected for their
portability; they are not limited to UNIX, IBM, or Macintosh systems.
Most of them will compile and run, perhaps with minor modifications, on
any computer with a C or C++ compiler.
Assembling this book has been a collaborative process involving many
people. In the Spring of 1993, a call for contributions was
distributed worldwide via electronic mail and word of mouth.
Submissions arrived in the Summer of 1993. These were read by me and
many were also read by one or more of my outside reviewers: Eric
Haines, Andrew Glassner, Chandrajit Bajaj, Tom Duff, Ron Goldman, Tom
Sederberg, David Baraff, Jules Bloomenthal, Ken Shoemake, Mike Kass,
Don Mitchell, and Greg Ward.
Of the 155 articles submitted, 52 were accepted for publication. These
were revised and, in most cases, formatted into Latex by the authors.
Coordinating the project at Academic Press in Cambridge, Massachusetts,
were Jenifer Niles and Brian Miller. Book composition was done by Rena
Wells at Rosenlaui Publishing Services in Houston, Texas, and the cover
image was made by Eben Ostby of Pixar, in Richmond, California. I am
very thankful to all of these people and to the others who worked on
this book for helping to make it a reality. Great thanks also to the
"Graphics Gems" series editor, Andrew Glassner, for inviting me to be
editor for this volume, and to my wife, Bridget Johnson-Heckbert, for
her patience.
There are a few differences between this book and the previous volumes
of the series. Organizationally, the code and bibliographies are not
collected at the back of the book, but appear with the text of the
corresponding article. These changes make each Gem more
self-contained. The book also differs in emphasis. Relative to the
previous volumes, I have probably stressed novelty more, and simplicity
less, preferring an implementation of a complex computer graphics
algorithm over formulas from analytic geometry, for example.
In addition to the "Graphics Gems" series, there are several other good
sources for practical computer graphics techniques. One of these is
the column ``Jim Blinn's Corner'' that appears in the journal "IEEE
Computer Graphics and Applications". Another is the book "A
Programmer's Geometry", by Adrian Bowyer and John Woodwark
(Butterworth's, London, 1983), which is full of analytic geometry
formulas. A mix of analytic geometry and basic computer graphics
formulas is contained in the book "Computer Graphics Handbook:
Geometry and Mathematics" by Michael E. Mortensen (Industrial Press,
New York, 1990). Another excellent source is, of course, graphics
textbooks.
Code in this book is available on the World Wide Web at

ftp://ftp.princeton.edu/pub/Graphics/GraphicsGems/GemsIV/ .
Or by anonymous FTP from ftp.princeton.edu in the directory
pub/Graphics/GraphicsGems/GemsIV. [Note: in 1994 the correct ftp
machine was princeton.edu]. The code for other "Graphics Gems" books
is also available nearby. Bug reports should be submitted as described
in the README file there.
Paul Heckbert, March 1994, updated May 1998.
======================================================================
TABLE OF CONTENTS
Below is the table of contents for "Graphics Gems IV". This table also
serves as an index to the code in the FTP collection. Note that every
article has text that appears in the book but not in the FTP archive,
and some articles contain no C or C++ code.
file or		book	chapter title and author
directory chapter
------------------------------------------------------------
		I	POLYGONS AND POLYHEDRA
centroid.c	I.1	Centroid of a Polygon
			Gerard Bashein and Paul R. Detmer
convex_test/	I.2	Testing the Convexity of a Polygon
			Peter Schorn and Frederick Fisher
ptpoly_weiler/	I.3	An Incremental Angle Point in Polygon Test
			Kevin Weiler
ptpoly_haines/	I.4	Point in Polygon Strategies
			Eric Haines
delaunay/	I.5	Incremental Delaunay Triangulation
			Dani Lischinski
vert_norm/	I.6	Building Vertex Normals from an Unstructured Polygon
			List
			Andrew Glassner
		I.7	Detecting Intersection of a Rectangular Solid and a
			Convex Polyhedron
			Ned Greene
collide.c	I.8	Fast Collision Detection of Moving Convex Polyhedra
			Rich Rabbitz
------------------------------------------------------------
		II	GEOMETRY
		II.1	Distance to an Ellipsoid
			John C. Hart
dist_fast.c	II.2	Fast Linear Approximations of Euclidean Distance in
			Higher Dimensions
			Yoshikazu Ohashi
outcode/	II.3	Direct Outcode Calculation for Faster Clip Testing
			Walt Donovan and Tim Van Hook
sph_poly.c	II.4	Computing the Area of a Spherical Polygon
			Robert D. Miller
		II.5	The Pleasures of `Perp Dot' Products
			F. S. Hill, Jr.
		II.6	Geometry for N-Dimensional Graphics
			Andrew J. Hanson
------------------------------------------------------------
		III	TRANSFORMATIONS
arcball/	III.1	Arcball Rotation Control
			Ken Shoemake
		III.2	Efficient Eigenvalues for Visualization
			Robert L. Cromwell
inv_fast.c	III.3	Fast Inversion of Length- and Angle-Preserving Matrices
			Kevin Wu
polar_decomp/	III.4	Polar Matrix Decomposition
			Ken Shoemake
euler_angle/	III.5	Euler Angle Conversion
			Ken Shoemake
		III.6	Fiber Bundle Twist Reduction
			Ken Shoemake
------------------------------------------------------------
		IV	CURVES AND SURFACES
data_smooth/	IV.1	Smoothing and Interpolation with Finite Differences
			Paul H. C. Eilers
		IV.2	Knot Insertion using Forward Differences
			Phillip Barry and Ron Goldman
		IV.3	Converting a Rational Curve to a Standard Rational
			Bernstein-Bezier Representation
			Chandrajit Bajaj and Guoliang Xu
curve_isect/	IV.4	Intersecting Parametric Cubic Curves by Midpoint
			Subdivision
			R. Victor Klassen
patch_conv.C	IV.5	Converting Rectangular Patches into Bezier Triangles
			Dani Lischinski
nurb_polyg/	IV.6	Tessellation of NURB Surfaces
			John W. Peterson
		IV.7	Equations of Cylinders and Cones
			Ching-Kuang Shene
implicit.c	IV.8	An Implicit Surface Polygonizer
			Jules Bloomenthal
------------------------------------------------------------
		V	RAY TRACING
		V.1	Computing the Intersection of a Line and a Cylinder
			Ching-Kuang Shene
ray_cyl.c	V.2	Intersecting a Ray with a Cylinder
			Joseph M. Cychosz and Warren N. Waggenspack, Jr.
vox_traverse.c	V.3	Voxel Traversal along a 3D Line
			Daniel Cohen
multi_jitter/	V.4	Multi-Jittered Sampling
			Kenneth Chiu, Peter Shirley, and Changyaw Wang
minray/		V.5	A Minimal Ray Tracer
			Paul S. Heckbert
------------------------------------------------------------
		VI	SHADING
		VI.1	A Fast Alternative to Phong's Specular Model
			Christophe Schlick
		VI.2	R.E versus N.H Specular Highlights
			Frederick Fisher and Andrew Woo
		VI.3	Fast Alternatives to Perlin's Bias and Gain Functions
			Christophe Schlick
		VI.4	Fence Shading
			Uwe Behrens
------------------------------------------------------------
		VII	FRAME BUFFER TECHNIQUES
		VII.1	XOR-Drawing with Guaranteed Contrast
			Manfred Kopp and Michael Gervautz
		VII.2	A Contrast-Based Scalefactor for Luminance Display
			Greg Ward
dyn_range/	VII.3	High Dynamic Range Pixels
			Christophe Schlick
------------------------------------------------------------
		VIII	IMAGE PROCESSING
emboss.c	VIII.1	Fast Embossing Effects on Raster Image Data
			John Schlag
coons_warp.c	VIII.2	Bilinear Coons Patch Image Warping
			Paul S. Heckbert
convolve.c	VIII.3	Fast Convolution with Packed Lookup Tables
			George Wolberg and Henry Massalin
thin_image.c	VIII.4	Efficient Binary Image Thinning using Neighborhood Maps
			Joseph M. Cychosz
clahe.c		VIII.5	Contrast Limited Adaptive Histogram Equalization
			Karel Zuiderveld
mrsfoley.im	VIII.6	Ideal Tiles for Shading and Halftoning
			Alan Wm Paeth
------------------------------------------------------------
		IX	GRAPHIC DESIGN
		IX.1	Placing Text Labels on Maps and Diagrams
			Jon Christensen, Joe Marks, and Stuart Shieber
graph_layout/	IX.2	Dynamic Layout Algorithm to Display General Graphs
			Laszlo Szirmay-Kalos
------------------------------------------------------------
		X	UTILITIES
trilerp.c	X.1	Tri-linear Interpolation
			Steve Hill
interp_fast.c	X.2	Faster Linear Interpolation
			Steven Eker
vec_mat/	X.3	C++ Vector and Matrix Algebra Routines
			Jean-Francois Doue
GraphicsGems.c	X.4	C Header File and Vector Library
GraphicsGems.h		Andrew Glassner and Eric Haines
======================================================================
Paul Heckbert						 ph@cs.cmu.edu
Computer Science Dept., Carnegie Mellon University
5000 Forbes Ave, Pittsburgh PA 15213-3891, USA
more about Graphics Gems IV book

AltStyle によって変換されたページ (->オリジナル) /