Course Overview

This course picks up where CSE169 leaves off focusing on computational physics simulation with emphasis on the dynamics of motion. Specific sub-topics include rigid body dynamics, deformable body dynamics, contact, fracture, and fluid dynamics. Additional topics may include galactic, molecular, and vehicle dynamics.

Required Knowledge: Familiarity with Newtonian mechanics. Familiarity with C++ or similar programming language. Familiarity with OpenGL or similar graphics API.

Rigid Bodies Fluid Dynamics Deformable Solids

Announcements

Staff

Instructor :

Steve Rotenberg (srotenberg@ucsd.edu)

Steve Rotenberg has worked in the computer graphics, simulation, mapping, and video game industries over the last 27 years. He is the founder and CEO of VectorZero Inc., a San Diego company that makes software used for autonomous vehicle simulation. He was previously the founder and CEO of PixelActive Inc., which made 3D city modeling and traffic simulation software and was eventually sold to HERE Maps. Before that, he worked as Director of Software at Angel Studios, an early 3D video game development company. From 2003 to the present, Steve has taught as a guest lecturer in the computer graphics group within the computer science department at UCSD.
Office Hours : Tuesday, Thursday: 1550-1650 @ 2210 (EBU3B)

Teaching Assistant :

Mridul Kavidayal (mkaviday@ucsd.edu)

Mridul is a first year Master's student in the department of CSE. He is interested in the areas of Computer Graphics and Machine Learning.

Sessions

This is a rough outline of the course, and will be updated throughout the quarter.
PART 1: Deformable Solids PART 2: Fluid Dynamics PART 3: Rigid Bodies PART 4: Extra Topics

Reading

Books

Papers

Additional Papers

Projects

Project Goal

The goal of the project is to implement a physics simulation that combines several different components such as physics, collision detection, rendering, user interaction, etc. There are three main topics to choose from : Within each topic, there are several possible sub-topics to choose from as well. You can also suggest your own topics and sub-topics that aren’t on the list, but please talk to me first.
It will need some type of visualization, but it can be basic, such as lines and triangles through OpenGL. You can use the sample code provided to get a basic OpenGL app set up with a simple camera control. It is be a good idea to use some type of basic user interface such as TweekBar or NanoGui to be able to interactively adjust parameters and control the simulation, but this is not required.

Scoring

Altogether, the project is worth 90 points over the quarter. For full credit, you must show progress at two different points during the quarter as well as give a short presentation in front of the class demonstrating the final results.

The two progress checks are worth 10 points each, and the final presentation is worth 10 points. To get full credit for the progress checks, you must meet with me either in office hours or after class and show at least one sub-topic completed by the end of week 4 and one additional sub-topic completed by the end of week 8. To get the 10 points for the presentation, you just have to stand in front of the class and show something!

To get the remaining 60 points, you must complete enough individual goals based on the scoring guidelines below. Each topic has more than 60 points available, so you can choose a subset. You can optionally work in groups of 2. If you do, point scores below get multiplied by 2/3, so you have to do 50% more to get the same score as working alone (but you will have to attempt some of the more complex ones).

Option 1 : Deformable Solids

Option 2 : Particle Based Fluids

Option 3 : Rigid Body Dynamics

Option 4 : Choose Your Own

Choose your own topic and sub-topics. Talk to me first about a plan for how we will score it. Or you could combine some things from the above lists. For example, you could implement a rigid body floating in a pool of SPH water. Talk to me about the details.

Final Projects

Policies

Grading

There will be two pop quizzes, each worth 5% of the total grade. There will a single programming project over the quarter worth 60% of the total grade. The project can be done individually or in groups of two- latter entailing more work! For the project, you will have to demonstrate your current progress at two different times in the quarter (roughly 1/3 and 2/3 through). These will each be worth 10% of the total grade. The final presentation is worth 10%.

Academic Integrity

Academic integrity at UCSD is governed by the Policy on Integrity of Scholarship. Allegations of academic misconduct are handled by the Academic Integrity Office.