Image [ Bill Casselman's home page ]

Table of contents

Image Introductory
Image Chapters 1 - 15
Image Appendices
Image Epilogue
Image Supplement
Image Code samples and packages
Image Other reading on PostScript
Image Other reading
on mathematical graphics
Image Errata et corrigenda
Image Copyright notice
Image
Image
Click here for information about this imagexxxxxxxxxx

This manual has been available on this site since about 1996, with improvements taking place frequently. The current version has been published as a book of about 350 pages by Cambridge University Press. By agreement with the Press, however, it will remain posted on this web site. Many improvements in the current version over previous ones are due to the (anonymous) referees of the Press, whom I wish to thank heartily. I also wish to thank Lauren Cowles, of the New York office of the Press, for much help with preparing the original version for publication. The paper edition appears also in Duotone red and black. For information on obtaining the paper edition, take a look at the Cambridge Press catalogue.

From January 1, 2004 on, no changes except simple error corrections will be made to the main body of the text here --- at least for a while. Corrections to both paper and web editions will be found below.

I am grateful to all those who have pointed out errors or lacunae in older versions of this manual, and I hope readers will continue to send me mail about what they find - both good and bad - at cass@math.ubc.ca.

Copyright � 2005 by Bill Casselman. Permission is granted for users of this resource to make one copy for their own personal use. Further reproduction is strictly prohibited without the express permission of the copyright holder.

Introductory

This text is offered in PDF format, but also in PostScript. To read the PostScript files, which are often faster to load, you will need a PostScript interpreter. But you will need one in any event in order to read the book fruitfully. You can obtain Ghostscript and viewers at the
ImageGhostScript home pages. You will probably want to set it as the program with which your browser reads .ps files (of type application/postscript).

ImagePreface

Image pdf
Image ps

ImageTable of contents (for the entire text)

Image pdf
Image ps

Chapters 1 - 15

ImageChapter 1 - Getting started

Image pdf
Image ps

ImageChapter 2 - Elementary coordinate geometry

Image pdf
Image ps

ImageChapter 3 - Variables and procedures

Image pdf
Image ps

ImageChapter 4 - Coordinates and conditionals

Image pdf
Image ps

ImageChapter 5 - Loops and arrays

Image pdf
Image ps

ImageChapter 6 - Curves

Image pdf
Image ps

ImageInterlude

Image pdf
Image ps

ImageChapter 7 - Procedures as arguments

Image pdf
Image ps

ImageChapter 8 - Non-linear transformations in 2D

Image pdf
Image ps

ImageChapter 9 - Recursion in PostScript

Image pdf
Image ps

ImageChapter 10 - Perspective and homogeneous coordinates

Image pdf
Image ps

ImageChapter 11 - Introduction to drawing in 3D

Image pdf
Image ps

ImageChapter 12 - Rigid motion in 3D

Image pdf
Image ps

ImageChapter 13 - PostScript in 3D

Image pdf
Image ps

ImageChapter 14 - Drawing surfaces in 3D

Image pdf
Image ps

ImageChapter 15 - The regular polyhedra

Image pdf
Image ps
Image Another way of constructing the regular polyhedra

Appendices

ImageAppendix 1 - Summary of important PostScript commands

Image pdf
Image ps

ImageAppendix 2 - Setting up your PostScript environment

Image pdf
Image ps

ImageAppendix 3 - Structured PostScript documents

Image pdf
Image ps

ImageAppendix 4 - Simple text display

Image pdf
Image ps

ImageAppendix 5 - Zooming

Image pdf
Image ps

ImageAppendix 6 - Evaluating polynomials

Image pdf
Image ps

ImageAppendix 7 - Importing PostScript files

Image pdf
Image ps

Epilogue

ImageGraphics style in exposition

Image pdf
Image ps

Supplement

ImageAnother way to construct the regular polyhedra

Image pdf

ImageA better version of Hodgman-Sutherland

Image pdf
Image ps

Code samples and packages

The plural pictures means there are several pages.

Image Simple diagrams from Chapter 1 (pictures) (source)
Image Arrows
Image Straight (pictures) (source)
Image Curved (pictures) (source)
Image An example of zooming in (pictures) (source)
Image Cubes
Image Frame, orthogonal projection (picture) (source)
Image Frame, perspective projection (picture) (source)
Image Solid (picture) (source)
Image Shading (picture) (source)
Image Shadowed (picture) (source)
Image Moving (pictures) (source)
Image A simple sphere in PostScript (picture) (source)
Image A sphere with Gouraud shading (picture) (source)
Image A doughnut in PostScript (picture) (source)
Image A figure where chopping is necessary to make a binary space partition (picture) (source)
Image An open box (picture) (source)
Image The package arrows.inc [Chapter 1]
Image The package lines.inc [Chapter 4]
Image The package hodgman-sutherland.inc [Chapter 4]
Image The package mkpath.inc [Chapter 7]
Image The package transform.inc [Chapter 8]
Image Map data in PostScript form (maps.zip) from original data at
http://archive.msmonline.com/1999/12/vis2.htm (2.5 MB) [Chapter 8]
Image The package hull.inc [Chapter 9]
Image The package ps3d.inc [Chapter 13]
Image The package bsp.inc - for building binary space partitions [Chapter 14]
Image The package polyhedra.inc - for drawing regular polyhedra [Chapter 15]
Image The PERL script psinc - for including files explicitly instead of running them [Appendix 2]
Image The package zoom.inc [Appendix 5]
Image The package hs.inc [Supplementary note on Hodgman-Sutherland]
Image The package stack.inc [Supplementary note on Hodgman-Sutherland]

Other references on PostScript

The following official guides from Adobe are available on line:
Image PostScript language tutorial and cookbook (the `blue book') - a classic, with lots of short useful samples.
Image PostScript language design (the `green book')
Image Much relevant stuff, including the PostScript language reference language manuals (originally the `red book') - sooner or later you will have to look at this. It verges on readable.

Other technical (very technical) documentation is also on line at http://partners.adobe.com/asn/tech/ps/index.jsp and http://partners.adobe.com/asn/tech/ps/technotes.jsp. You can retrieve here, among other things, an earlier edition of the reference manual.

Other Cool Things:

(NOTE: TEMPORARILY DEAD)
Image Luc Devroye's PostScript pages with lots of further links (including one back to here)
Image Mathematical BBS on PostScript with lots of further links (including one back to here)
Image The phrase PostScript humour may look like an oxymoron to you, but you can find an attempt at PostScript: a computer language. There is more from the same guy at http://www.prepressure.com/postscript.
Image The incredible PostScript web server (follow link to PS-HTTPD)
Image Don Lancaster's pages including lots of libraries of useful stuff (and also of much useless stuff). Some discussion of how to achieve transparency.
Image On line PostScript operator dictionary (taken directly from the reference manual). The header pages are in German, but the rest in English.
Image David Maxwell's short PS manual. David Maxwell was a graduate student here at UBC when he did these pages, but has since gone on to a More Satisfying Life.
Image Inkguides Much stuff on fonts.

Other reading on the use of illustration in mathematical exposition

Image Pictures and proofs (an article in the October, 2000 issue of the Notices of the A.M.S. on the use of illustrations in mathematics)
Image A review of one of Edward Tufte's classics on information graphics (from the January, 1999 issue of the Notices)

Errata et corrigenda

(To appear soon)