BOOK REVIEW
The Marvels of PostScript
George Francis
Mathematical Illustrations: A Manual of Geometry and
PostScript. Bill Casselman. xviii + 318 pp. Cambridge
University Press, 2005. $39.99.
The beauty of mathematics resides in its abstractions: the
definitions, the theorems, and especially those proofs that the late
Paul Erdös said were "written in the [divine] book."
In physics, chemistry and biology, accurate pictures and models are
considered both valid and aesthetically rewarding—consider the
drawings of Leonardo da Vinci and Andreas Vesalius, the double helix
and even the plasticized bodies of Günter von Hagen.
Not so in mathematics, where a fervent iconoclasm periodically
sweeps the profession. Pictures and models are held in contempt.
Proofs based on pictures are said to mislead, to gloss over real
questions, to miss special cases—in short, to lie. This
disapproval was shared in by an influential, anonymous group of
mathematicians in the mid-20th century who were intent on creating a
unified account of all of mathematics. They published picture-free
books under the pseudonym of Nicolas Bourbaki.
The advent of computer graphics and a resurgence of interest in
low-dimensional geometry and topology turned the tide. Those of us
engaged in mathematical illustration learned to address wider
audiences and to adopt contemporary media that are new even in such
picturesque fields as geometry.
A new book by Bill Casselman, Mathematical Illustrations: A
Manual of Geometry and PostScript, addresses the role of
computer graphics in geometrical illustrations. Originally,
computer-generated pictures were drawn with a bedplotter or on an
oscillograph tube. Both simulated a pen or stylus moving across
paper or copperplate, guided by what is called vector graphics.
Pixel-based raster graphics, as in television and flat-panel
screens, mimics the pointillist method associated with the artist
Georges Seurat, who covered the canvas with tiny spots of paint.
Although all graphics is now raster-based, both techniques persist
for reasons that will be clear. So-called bitmap (pointillist)
graphics powers Bill Atkinson's pioneering MacPaint, Adobe's
contemporary Photoshop, and the open-source GIMP. Vector graphics,
such as Apple's MacDraw, Adobe's Illustrator, Xfig and The
Geometer's Sketchpad, can only be simulated on raster graphics devices.
In any computer-generated picture under magnification, we see that
apparently straight lines and smooth curves reveal ugly stair-steps,
called jaggies, and sharp images dissolve into blurs. But
technical methods, called antialiasing techniques, can make jaggies
invisible at some particular magnification. That's where vector
graphics comes into its own. It encodes pictures, whether fancy
polyhedra or humble mathematical symbols, with an instruction set
that includes "pen up, move pen, pen down, drag pen" (to
borrow the terminology of the bedplotter). This code (unlike bitmap
images) can be easily edited; scaling the data produces sharp images
at all magnifications. This principle governs the design and
generation of TEX fonts, and, what's more important, of PostScript printers.
The geometry that best illustrates vector-graphic drawing methods is
the subject of Casselman's book. One might be tempted to apply to
his text Casselman's own assessment of a work he cites as a
reference: "This book is not wildly exciting and does not offer
as much variety [as] one might hope for either, but it is still
curious." Casselman's title overstates what his book offers,
and the subtitle would be more accurate if the "and" were
replaced by "with." Despite these shortcomings—or
perhaps because of the volume's narrow focus on the illustrations
and geometry that PostScript handles best—I recommend it to
all who are professionally or even casually interested in
mathematical illustration.
This book is a PostScript tutorial that Casselman has been
perfecting for a decade and which remains available on his Web site
(http://www.math.ubc.ca/~cass/graphics/manual/)
by permission of Cambridge University Press. With this manual he
teaches courses and workshops. Indeed, to use it profitably the
reader should download software extensions from his site. Because
the illustrations in the book are fairly plain, it would be a good
idea to download and study the code of some more elaborate and
excellent student projects found on the site.
On the same site you can obtain Casselman's impressive
"ps3d" package. This PostScript extension handles 3D
geometry in the manner popularized in Jim Blinn's Corner: A Trip
Down the Graphics Pipeline (Morgan Kauffman, 1996). The use
of four-dimensional homogeneous coordinates is familiar to the
computer graphics community, which uses the OpenGL or the DirectX
libraries. The mathematical reader will recognize it as the way of
representing the three-dimensional affine group (and thus its
subgroups, the Euclidean and some non-Euclidean isometry groups) in
the four-dimensional linear group. Thus compositions of rigid
motions become matrix multiplications, and even perspective
projection fits conveniently into this scheme.
To read this text profitably requires, in addition to paper and
pencil, a computer running a PostScript interpreter such as
Ghostscript (to be had for free from the University of Wisconsin, http://www.cs.wisc.edu/~ghost/). Still, for lazy
or computerphobic readers there remains close to a third of the book
that is superb geometry. These passages can be enjoyed without even
a glance at PostScript.
The topics include elementary low-dimensional coordinate changes,
Weierstrass-Bernstein-Bézier-de Casteljau splines,
stereographic and Mercator map projections, rendering opaque
surfaces and triangular subdivision of nonconvex polygons. There are
seven very useful appendices.
No book is perfect! This one should be read with two principal
caveats: First, anyone at all familiar with the breadth and variety
of mathematical illustrations will be puzzled, annoyed even, by its
excessively parochial focus. Second, the novice reader will need
some help fitting the book into a larger context of the field. Here
are samples of what I mean.
Much of the chapter on rendering surfaces is devoted to drawing them
back-to-front in the manner called the painter's algorithm. This is
only one, tedious way to get the occlusions right. Depth buffering,
the nearly universal alternative, is dismissed. On page 237, we read
that "Much high-end 3D drawing, for example in video games or
movies, relies on a pixel-by-pixel treatment." This ignores
three decades of scientific visualization and mathematical animation
using ray-tracing and polygon rendering, beginning with Tom Banchoff
and Nelson Max through the prizewinning animations at the 1998
International Congress of Mathematics in Berlin.
Casselman erects unnecessary geometrical stumbling blocks with
unconventional definitions. Demonstrations of their equivalence with
conventional definitions are not even referenced. On page 217,
Casselman confuses "surface fragments" with
"faces" of polygons, which have very different meanings in
OpenGL, the de facto standard. We read that a surface in computer
graphics is an "assembly of flat plates, each of which is a 2D
polygon." The word "flat" suggests that the
"faces," or "patches" (as they are more commonly
called), are planar. This is a frequent source of confusion.
Although triangular facets are always planar, quadrangles in space
generally are not. Casselman uses very special quadrangles for
special surfaces. If we use the longitudes and latitudes of surfaces
of rotation such as cylinders, cones, spheres and tori, then the
quadrangles are planar. Otherwise, quadrangles may have four
distinct normal vectors at the vertices and infinitely many of them
on the interior, making Casselman's overly technical use of
"the" normal function problematic.
On page 216, Casselman mentions Blinn's "allowing not only a
change in 3D coordinates but also ways in which the display matrix
can be changed to conform to different ways of viewing 3D
space." Casselman adds that "In mathematical graphics,
this isn't so important as it is in nonmathematical graphics, where
one often has to track a moving object." Quite the contrary,
this is precisely what we have to do to visualize Bill Thurston's
non-Euclidean three-dimensional geometries, preparing for the
anticipated confirmation of Grisha Perelman's proof of the
celebrated Poincaré Conjecture.
Although Casselman discusses diffuse lighting, he omits mention of
specular highlights, materials, textures and so forth. In a book on
mathematical illustration, one which shows great deference to Edward
Tufte's principles of information graphics, it is disconcerting to
find that Casselman's illustrations have no legends and sometimes
can't be easily correlated to the text. In an otherwise excellent
presentation of Thomas Herriot's elementary proof that stereographic
projection is conformal (angle-preserving), the explanatory drawings
omit essential labels. The figure at the bottom of page 143 is drawn
in such sharp perspective that it is all but impossible to detect
parallel and perpendicular lines. Orthographic projection here would
have worked better.
Still, I'm glad to have read this book cover to cover. Knowing
Charles Moore's Forth, a language similar to PostScript, I was happy
to finally understand the differences between the two. Today most
images end up in PostScript on the way to the printer, regardless of
their origins. Sometimes it becomes necessary to open the arcane
code in a text editor and modify PostScript by hand. Even if you
will never need to go this far, Casselman's book teaches you to
appreciate the marvels of PostScript and of the geometry ideas
relevant to this curious computer language.