**Call # 72963 (for CSc 535A) and # 72961 (for Math 535A)****Instructor**: Robert S. Maier (Professor, Mathematics and Physics)**Time and Room**: 11:00-12:15, Tues/Thurs, Room 200, Economics Bldg.

**
This is a one-semester graduate course that focuses on
geometric (`vector') graphics and geometric modeling,
rather than on bitmap (`raster') graphics, or
graphics programming. It does not overlap with
CSc 433/533.
In particular, it does not cover OpenGL programming.
But it does cover the vector graphics support in several
programming and
CAD-related
environments, such as the Postscript programming language and the new
XML-based SVG (Scalable Vector Graphics) format.
**

**Prerequisites**:
CSc 352,
and also Math 215, Math 322, or Math 410. Together these ensure
a good basic knowledge of programming environments and linear algebra.
Rudimentary knowledge of calculus will be assumed too, but
linear algebra will play a more important role.

**Recommended Texts**: I typically select topics from
two texts, which are recommended rather than required. One is
David Salomon's Computer Graphics and Geometric Modeling (Springer, 1999). For
supplementary information on projective geometry, I use Gerald
Farin's classic book,
Curves and Surfaces for Computer-Aided Geometric
Design (Academic, 4th edition, 1996).
Prof. Farin is a
faculty
member in the ASU Computer Science Department.

**Topics**:

**Scan-conversion methods**, such as Bresenham algorithms for drawing lines and algebraic curves, both thin and wide, as sequences of pixels.**Geometric transformations**, including linear, affine, and projective transformations.**Bézier curves**and other standard families of curves. De Casteljau's algorithm for drawing Bézier curves. The effects of geometric transformations on standard families of curves.**Projective geometry**and its relevance to engineering graphics. Basic theorems of projective geometry, such as the five-point theorem ("five points, no three of which are collinear, determine a nondegenerate conic section"). Projective generalizations of Bézier curves, and the projective De Casteljau algorithm.**Splining and approximation theory**. Interpolation of data points to yield a curve. Cubic and higher-order splines; Bessel interpolation. Locally optimal versus globally optimal interpolation. Splines with tension, and other extensions.**Polynomial elimination**, via the computation of resultants and other algorithms, as a means of determining where two algebraic curves will intersect.- [As time permits...]
**Surface theory**. The extension of most of the above topics from two to three dimensions, i.e., from curves to surfaces. - [If time permits...] The mathematics of color models. (But note that shading, texture mapping, and ray tracing are outside the scope of this course.)

Also, the vector graphics support in several programming and CAD environments, including:

- The rudiments of Postscript programming, with an emphasis on the Bézier curve support, and the curve and area rasterization performed by any Postscript interpreter. The Postscript Language Tutorial is a useful reference.
- The curve rasterization performed by the vector graphics code in
X Window System displays. (I've converted that code into a free,
portable package. See the
`libxmi`

home page.) - Several file formats for storage of vector graphics data.
This includes the format used by the
`xfig`

drawing editor and the format used by Adobe Illustrator. Also, the ISO-standardized CGM [Computer Graphics Metafile] format, and the SVG [Scalable Vector Graphics] format. SVG is an XML-based format which may become the standard vector graphics format for the Web. It is now being standardized by the W3 Consortium. See the SVG home page.

**Grading Policy**: The course grade will be based on the
completion of several math-related assignments, and either a comprehensive
final exam or a term project, which, unlike the assignments, may be
programming-related.

**Sample Midterm**: A
sample midterm
is available for viewing.

**Auditing**: This course is available for audit, but you
must register in order to attend.

[ Top of Page | Math Dept. Home Page | CSc Dept. Home Page ]

http://uranium.math.arizona.edu/~rsm/courses/fall01/535/index.html

Last updated May 3, 2002

Robert S. Maier (rsm@math.arizona.edu)