CS 493 - Simulations in Computer Graphics

Meeting: 11:30-1pm TR
Room 208 Gruening Building
University of Alaska Fairbanks

3.0 Credits, Spring 2013
    CS 381 (or substantial OpenGL)
    Physics 212 (Newtonian physics)

Instructor: Dr. Orion Lawlor
lawlor@alaska.edu, 474-7678
Office: 201E Chapman
Hours: 2-3pm TR (or open door!)

Course Website: Homeworks, Lecture Notes, Code Samples
No required textbook, but you must have access to the web and a good graphics machine with WebGL.

ADA Compliance: I will work with the Office of Disability Services (208 Whitaker Bldg., 474-5655) to provide reasonable accommodation to students with disabilities.

Catalog Description

Software to simulate physical phenomena for use in interactive visualization, such as particle systems, Navier-Stokes fluid dynamics, and finite element solid mechanics. Includes Lagrangian and Eulerian meshes, stability, and discretization order. Our focus is high performance qualitatively correct simulations, rather than high-precision solutions. Prerequisites: CS 381 and PHYS 212.

Course Goals, Learning Objectives, and Requirements

By the end of the course, you will be able to build and understand simple simulators for a variety of physical phenomena, including moving fluids and solids. Along the way, you will learn how to use both moving Lagrangian and non-moving Eulerian meshes, how to discretize partial differential equations in space and time, how to keep your simulations from "blowing up" (computational stability) and how to apply that knowledge in a variety of domains. Simple graphics programming including GLSL shaders (from CS 381), basic Newtonian physics (from Physics 212), and good familiarity with calculus are all required. Course meetings are mostly lecture, discussion, and some lab work; you'll do the course homeworks and projects on your own.

Student Learning Outcomes

Students completing this course will be able to:

Student Resources

Academic Help: Google, Rasmuson Library, Academic Advising Center (509 Gruening, 474-6396), Math Lab (Chapman Room 305), English Writing Center (801 Gruening Bldg, 474-5314).


You'll get better grades by attending class, diligently doing the homework, and understanding the material than by cramming before the exam. Your overall grade comes from:

  1. HW: Homeworks and machine problems, to be distributed through the semester.

  2. PROJ: two substantial graphics projects, together with a short presentation of your results. Example projects: read a paper and implement a similar technique, implement a known physics simulation, apply an existing simulator or method to a new domain, or improve the performance of a slow simulator.

  3. MT: Midterm Exam.

  4. FINAL: Final Exam (comprehensive).

The final score is then calculated as:

TOTAL = 20% HW + 30% PROJ + 25% MT + 25% FINAL

This percentage score is transformed into a plus-minus letter grade via these cutoffs: A >= 93%; A- 90%; B+ 87%; B 83%; B- 80%; C+ 77%; C 70%; D+ 67%; D 63%; D- 60%; F. The grades “C-”, “F+”, and “F-” will not be given. “A+” is reserved for truly extraordinary work.

Course Rules

Individual assignments and tests may (rarely) be curved. Homeworks are normally due at midnight on the day they are due. Late homeworks will receive no credit. At my discretion, I may allow late assignments without penalty when due to circumstances beyond your control. Everything you turn in must be your own work--violations of the Student Code of Conduct will result in a minimum penalty equal to THAT ENTIRE SECTION OF YOUR GRADE (e.g., one plagiarized homework question will negate an otherwise perfect grade on all homeworks). However, even substantial reuse of other people's work is fine (and not plagiarism) iff it is clearly cited; you'll be graded on what you've added to others' work. Group projects (NOT homeworks) are acceptable if you clearly label who did what work; but I do expect a two-person group project to represent twice as much work as a one-person project. Department policy does not allow tests to be taken early; but in extraordinary circumstances by prior arrangement may be taken late.


Last day to drop: Friday, February 1.  Project 1 presentations: Tuesday, March 5. Midterm exam: Thursday, March 7.   Spring break: March 9-17. Last day to withdraw: March 22.  Project 2 presentations and last day of class: Thursday, May 2. Final exam: 10:15am on Tuesday, May 7.

Course Outline (Tentative)

Before Spring Break:

After Spring Break: