CS 791 Overview


[Text taken from Winter 2006, subject to some changes]

Throughout history, geometric patterns have formed an important part of human expression. Ornament can even be found on artifacts dating back into prehistory.

It is only in the last century or two that we have developed the mathematical tools necessary to study the patterns we can created intuitively for millennia. Even more recently, we have computational tools that let us construct these patterns efficiently and painlessly, opening ever wider horizons of art and design.

This course is about the mathematical and computational tools that make it possible to analyze existing patterns and synthesize new ones. The focus is on ornamental design: abstract geometric patterns that adorn human artifacts.


The course is designed for students who are interested in the relationship between computers and design. It is open to undergraduates and graduates in math, with a particular emphasis on CS graduate students. Undergraduates should talk to an advisor about enrolling.

A computer graphics course (such as CS 488/688) is suggested as a prerequisite, but not absolutely required. If you're not sure about taking the course, come talk to me.

Tentative topics

The course will consist of lectures on mathematical and computational tools, mixed in with specific applications of those tools.

This list is far from final. I will add, delete, and reorder topics before and during the term. I am also open to input from students.

Student responsibilities

There will be three assignments and a final project. A small portion of the final mark will also be based on class participation.


Here are some of the best overall references to consult for this course.
  • In 2009 I put together a short textbook entitled Introductory Tiling Theory for Computer Graphics. To the extent that this course has an official textbook, I suppose this is it. Note that you can find an electronic copy of the book via the university's library.
  • The best reference for tiling theory has always been Tilings and Patterns by Grünbaum and Shephard. The book went out of print years ago. Last year I was delighted to discover that the book was scheduled to be re-released by Dover in December 2009, which would have been perfect for this course. Alas, I now see that they've moved the release back to April 2010. Buy a copy when it's out. You'll be glad you did; it exemplifies everything a math textbook should be.
  • John Conway, Chaim Goodman-Strauss and Heidi Burgiel. The Symmetries of Things. A beautiful and idiosyncratic book that (finally) presents Conway's "topological" foundation for symmetry theory in terms of orbifolds. Orbifolds offer a completely re-worked and very appealing description of symmetries and patterns.
  • Dorothy Washburn and Don Crowe, Symmetries of Culture. An excellent discussion on the relationship between symmetry, patterns, and the decorative traditions of cultures around the world. Also a good introduction to the history and mathematical foundations of symmetry theory.
  • Thomas Strothotte and Stefan Schlechtweg, Non-photorealistic computer graphics: modeling, rendering, and animation . A good overall textbook on NPR, at least up to 2002.
  • Owen Jones. The Grammar of Ornament (various editions). A classic sourcebook of images of ornament from around the world. I believe Dover has an edition with just the colour plates from the original. Happily, the full version is available online. There are no doubt many other classic pattern books available all over the web. It would be great to collect them here. A good place to watch for pointers is the fun blog BibliOdyssey.
  • Archibald Christie. Traditional Methods of Pattern Designing. Oxford University Press, 1929. A fun look into different classes of patterns and how they evolved. The 1910 version appears to be archived online
  • E.H. Gombrich. The Sense of Order: A Study in the Psychology of Decorative Art. Phaidon Press Limited, second edition, 1998. A classic study of art and ornamentaion.

  • Craig S. Kaplan Last updated: