Fall term

Section 101

1:30-2:30 M W F

Buchanan A205

In the course this fall, as in previous years,
I will show how mathematics and
computers can be used together to produce
graphics of mathematical interest.
The primary programming language to be
used is PostScript. It is ideal for this purpose
because its imaging model uses affine geometry in a crucial manner.
Towards the end of the course, elementary
3D graphics including perspective, and
perhaps something about the regular solids, will
be discussed. *New this year:
I will also allow work in Java,
and will arrange weekly tutorials for those interested in it.*

Towards the end of the term, students will have to propose and carry out their own projects. You can even look at a previous year's projects.

Students will be given accounts in the Mathematics Department undergraduate computer laboratory, and will also be able to run GhostScript or GhostView on PC-compatible machines or Macintoshes elsewhere. The documentation below is in both PostScript and PDF formats. For reading PostScript you can use GhostView & GhostScript if you do not have another PostScript file browser. For PDF files Acrobat Reader is available from Adobe.

We have PostScript help on our
** local help facility**
If you would like to know something that isn't there, ask about it.

Chapter 2 - Elementary coordinate geometry

Chapter 3 - Evolution of a simple program

Chapter 4 - Drawing lines: conditionals and coordinates

Chapter 5 - Drawing polygons: loops in PostScript

Chapter 6 - Curves

Chapter 7 - Automatic curve drawing

Chapter 8 - Rigid transformations

Chapter 9 - Drawing in 3D

the file

the picture

A rotated square:

The source

The picture

A program of two pages:

The source

The picture

A procedure to draw the visible parts of a line on a page
in any user coordinate system:

The source

A sample picture

The simple version of mkpath.inc

The 3d matrix manipulation file matrix3d.inc

Projection and perspective procedures as well as routines to construct surfaces are in draw3d.inc

Notes on a new version of mkpath.inc.

A better error handler than
the default one that comes with Ghostscript.
It is the same as the one made by Adobe,
except that one line of optional output has been suppressed,
in order to make it more convenient.
To use this program, put `(ehandler.ps) run` at the beginning
of a program.

Euclid's proof of I.47

The picture

Source

Remarks on solutions for the second homework

Approximating the graph of
*cos(t)* with Bezier curves. The picture has two pages, the
second at four times the scale
of the first. Note the different graphs drawn with different
numbers of Bezier curves: green = 2, blue = 4, black = 8.
(Of course this fine point makes the code very difficult to read.)

The picture

Simplified source

Tutorial - A simple applet

Tutorial - A simple interactive applet

Tutorial - A simple animated applet

The psplot package:

gzipped (Unix)

zipped (Windows)

The tutorial applets