CSCI 520
Computer Animation and Simulation
1
Computer Animation and Simulation
2
About the teacher
• Associate (tenured) professor in CS
• Post-doc at MIT
• PhD, Carnegie Mellon University
• jnb@usc.edu
3
• Background:
BSc Mathematics
PhD Computer Science
• Research interests:
graphics, animation,
real-time physics, control, sound, haptics
• Practice:
• Tech transfer, startup companies (Ziva Dynamics)
4
Teaching Assistant • Mianlun Zheng
• Tuesday, 3:00-5:00pm • Location: TBA
5
Who is the course for
• PhD students
• MSc students
• Advanced undergraduates
• CS 420 or 580 background will be very helpful !!
6
Why take this course
• Opensthedoortojobsin computer graphics
• Makebettergames
• Putmathandphysicstouseinthe real world
• Real-timegraphicsiscool
• Impressyourfriendswithdemos
7
Course Information Online
http://barbic.usc.edu/cs520-s20
– Schedule (slides, readings)
– Assignments (details, due dates) – Software (libraries, hints)
– Resources (books, tutorials, links)
Submit assignments on Blackboard: https://blackboard.usc.edu
Forum for questions is on Piazza: https://piazza.com/usc/spring2020/csci520/home
Prerequisites
• Grade of at least B in CS420 or CS580, or explicit permission of instructor
• Familiarity with calculus, linear algebra and numerical computation
• C/C++ programming skills
• See me if you are missing any and we haven’t discussed it
9
Recommended Textbooks • Rick Parent: Computer Animation,
Second Edition: Algorithms and Techniques
• OpenGL Programming Guide (“Red Book”) Basic version also available on-line (see Resources)
10
Evaluation • Assignments: 3 x 21%
• Final Exam: 37%
11
Academic integrity
• No collaboration!
• Do not copy any parts of any of the assignments from anyone
• Do not look at other students’ code, papers, assignments or exams
• USC Office of Student Judicial Affairs and Community Standards will be notified
12
Assignment Policies
• Programming assignments
– Hand in via Blackboard by end of due date – Functionality and features
– Style and documentation
– Artistic impression
• 3 late days, usable any time during semester
• Academic integrity policy applied rigorously
13
Class goals
• Gain ability to create animations and 3D simulations
• Learn a 3D graphics API (or improve skills)
• Improve code optimization skills
14
Applications
• Virtualreality
• Interactivecomputeranimation
• Surgicalsimulation;preoperativeplanning • Computationalrobotics;manipulation
• Videogames
• Assemblyplanning
• Scientificvisualization
• Education
• E-commerce
15
Keyframe Animation
16
Motion Capture
17
Inverse Kinematics
www.learnartificialneuralnetworks.com
source: Autodesk
18
Character Rigging
19
Facial Animation
20
Crowd Animation
21
Crowd Animation
22
Maya
23
Fluids
Source:
Stanford University
24
Source: CMU
25
Deformations
Cloth
Source:
ACM SIGGRAPH
26
Simulating Large Models
Source:
Cornell University
27
Simulating Large Models
28
Source: CMU
29
Sound
Self-collision detection
Source: USC
30
GPU programming
• Vertex shader
• Fragment shader • CUDA
• OpenCL
31
Source: Symposium on computer animation
32
Physics in games
Force-feedback Rendering
33
Haptic Interfaces
• hap·tic(‘hap-tik) adj.
Of or relating to the sense of touch; tactile.
34
Surgical Simulation
Source:
Cornell University
35
Multibody dynamics
36
TOPICS TO BE COVERED:
• Overview of computer animation
• Primer on numerical linear algebra
• Dynamical systems, numerical integration of ODEs • Constraints and contact
• Character Rigging
• Inverse Kinematics
• Maya
• Crowds
• Rigid body dynamics
• Collision detection
• Structured deformable objects (solids, cloth, hair)
• Fracture and cutting
• Fluids (Navier-Stokes)
• Haptics
• Sound simulation (acoustics)
• Programmable graphics hardware (GPUs)
• Case study: Havok engine for physics in games
• Motion capture
37
CSCI 520
Computer Animation and Simulation
http://www.jernejbarbic.com
38