CS482 Simulations in Computer Graphics

3 + 0
  • CS381
  • PHYS212
Orion Lawlor
Duckering 529
Office Hours
By Appointment
Meeting Time
Chapman 104
Course Website
Required Texts
None - readings will be provided online

Course 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 model preparation including 2D and 3D meshing, Lagrangian and Eulerian meshes, simulation stability, and simulation accuracy and discretization order. Our focus is high performance qualitatively correct simulations running at interactive rates, rather than high-precision solutions. This course assumes you know basic Newtonian physics, simple calculus such as finite difference approximations of derivatives, and some computer graphics programming.

Tentative Schedule

    • Integration of differential equations & course intro
    • In-class development of course topics
    • Vector review; and Euler, quaternion, and matrix rotation representations
    • Representing angular velocity, and integrating to 3D orientation
    • Last day for student- and faculty-initiated drops (course does not appear on academic record)
    • Particle Systems intro
    • Particle Systems and O(N^2) Gravity
    • Trees and Barnes-Hut Gravity
    • Performance Benchmarking Gravity
    • Flocking and emotion simulation
    • Spring Systems
    • Fracture: breaking springs
    • Modeling & Mesh Generation
    • Deadline to apply for spring 2017 graduation
    • Linear finite elements & the Finite Element Method
    • Large-rotation finite elements
    • Cohesive elements and fracture
    • Geometric changes in a finite element mesh
    • Coupled simulations: vehicle simulation
    • Cellular Automata: Finite State Simulations (& Wolfram book)
    • GPU simulations in textures, with GLSL
    • PDEs: Shallow water wave simulations
    • Project 1 Presentations
    • Course Review for Midterm Exam
    • Midterm Exam in Class
    • Spring break (no classes)
    • Fluid transport: advection
    • Navier-Stokes fluid dynamics and PDE notation
    • Courant stability limit & upwind advection (Project 1 final draft due)
    • Divergence-Free Flow Fields
    • Multigrid simulation
    • Last day for student- and faculty-initiated withdrawals (W grade appears on academic transcript)
    • Reactive flows & combustion
    • Begin registration and fee payment for fall 2017 semester (degree students)
    • Supersonic simulations (Project 2 topics due)
    • Turk-Turing and Reaction-Diffusion Equations
    • Morphogens and simulating plant growth
    • Particle-field interactions
    • Coupled simulations: snowmelt dynamics
    • Coupled simulations: terrain erosion
    • Boundary conditions: Wind-object interactions (Project 2 rough draft due)
    • Coupled simulations: solid rocket engine
    • SpringFest (no classes)
    • Coupled simulations: 3D printer extrusion
    • Coupled simulations: granular dynamics
    • Project 2 presentations
    • Last day of instruction
    • Course Review for Final Exam
    • Final examination period 10:15 a.m.-12:15 p.m (Project 2 final draft due)
    • Commencement

Grading Policies

Weight Description
5% Attendance and class participation, graded at random intervals throughout the semester
15% Homeworks: research and machine problems, to be assigned through the semester
40% Projects: independent project work, to be assigned through the semester
40% Exams: a midterm and final exam

Grades will be assigned based on the following percentage intervals:

[97%, 100%)

[93%, 97%)
[90%, 93%)
[87%, 90%)

[83%, 87%)
[80%, 83%)
[77%, 80%)

[73%, 77%)
[70%, 73%)
[67%, 70%)

[63%, 67%)
[60%, 63%)
[0%, 60%)

Graduate Section

Students taking the graduate section of this course, CS 681, will be assigned academic papers to read that are related to the stacked lectures. They will also have different exam problems, and additional homework and project requirements.

Late Work Policy

Late work will not be graded, unless it is due to circumstances beyond your control, or if you turn it in before I begin grading. I may begin grading at any time after the due date, even 12:01am the next day (grading is an effective treatment for insomnia!). You are encouraged to inquire if I have begun grading yet, since this acts as a reminder for me to do so.


First, you need a basic ability to work in modern computer graphics, from the prerequisite CS 381 (Intro to graphics).

  • Vertices, triangles, vertex buffers
  • GLSL Shaders

Second, you need to understand the real-world meaning of Partial Differential Equations, like Newton's laws, from the prerequisite Physics 212, calculus-based physics.

  • Position, velocity, acceleration, and how they interrelate
  • Force, inertia, torque, and rotational intertia

Underlying both of these is 3D vector arithmetic, which is used extensively in computer graphics and simulations. Calculus III is transitively a prerequisite of this course, and we'll be using 3D vectors and partial derivatives extensively.

Required Hardware And Software

The majority of the code in this course will be written in the OpenGL Shader Language (for graphics cards), JavaScript (for web browsers), or C++ (for applications). You should verify your web browser supports WebGL, and spend a few hours learning JavaScript at Code Academy.


Students are expected to be at every class meeting on time, and are responsible for all class content, whether present or not. If absence from class is necessary, in-class work (other than quizzes) and homework may be made up only if the instructor is notified as soon as possible; in particular, absences due to scheduled events must be arranged ahead of time. Academic dishonesty will not be tolerated, and will be dealt with according to UAF procedures. Students in this class must pay the CS lab fee.

UAF academic policies http://www.uaf.edu/catalog/current/academics

CS Department policies http://www.cs.uaf.edu/departmental-policies/

Disabilities Services:

The UAF Office of Disability Services implements the Americans with Disabilities Act (ADA), and ensures that UAF students have equal access to the campus and course materials. I will work with the UAF Office of Disability Services (208 WHITAKER BLDG, 474-5655) to provide reasonable accommodation to students with disabilities.