ITC-LMS:
Dr. Nobuyuki Umetani
- email: umetani@ci.i.u-tokyo.ac.jp
- url: http://www.nobuyuki-umetani.com/
- lab's website: https://cgenglab.github.io/labpage/en/
Monday 3rd period, 13:00pm - 14:30pm
Computer-generated images are everywhere in movies, video games, and VR. This course is an introduction to the techniques to animate objects in computer graphics based on the law of physics. The aim of the course is to get familiar with applied mathematics such as linear algebra, vector analysis, partial differential equations, variational principle, optimization, and numerical analysis through the animation techniques for particle systems, rigid bodies, elastic bodies. There are C++ programming assignments to acquire research-oriented graphics programming skills.
Topics:
- mass-spring simulation
- rigid body simulation
- elastic body simulation
- cloth and hair modeling & simulation
- collision-detection using spatial hashing
- finite boundary method
| Day | Topic | Assignment | Scribble | Slide |
|---|---|---|---|---|
| (1) Apr. 5 |
Introduction data structure for simulation Implicit surface |
[1], [2] | ||
| (2) Apr. 19 |
Time Integration Newtonian-mechanics backward & forward Euler method, particle system |
task0 task1 |
[2], [3], [4] | |
| (3) Apr. 26 |
Collision Detection bounding volume hierarchy, Kd-tree, N-tree |
task2 | [5] | |
| (4) Mar. 10 |
Simple Deformation Energy mass-spring system, Eulear-Lagrange equation, Lagrangian mechanics |
task3 | [6] | |
| (5) Mar. 17 |
Numerical Optimization Newton-Raphson method, Levenberg–Marquardt method |
task4 | ||
| (6) Mar. 24 |
Solving Large Linear System sparse matrix data structure, conjugate gradient method |
task5 | [1], [2], [3] | [8] |
| (7) Mar. 31 |
Optimization with Constraint Lagrange multiplier method |
task6 | [9] | |
| (8) Jun. 7 |
Rigid Body Dynamics inertia tensor, angular velocity |
task7 | [1], [2] | [10] |
| (9) Jun. 14 |
Collision and Friction Coulomb friction, impulse based method |
[11] | ||
| (10) Jun. 21 |
Continuum Mechanics tensor, stress and strain |
[1], [2] | [12] | |
| (11) Jun. 28 |
Continuum Mechanics2 finite elemenet method |
task10 | [1], [2], [3] | |
| (12) Jul. 5 |
Non-physical Deformation singular value decomposition, shape matching method, linear blend skinning, as-rigid-as possible deformation |
task11 | ||
| (13) Jul. 12 |
Boundary Element Method Green’s functions, thin-plate spline interpolation, radial based function |
task12 | [1], [2] |
- 20% lecture attendance
- Counted by asking question, and making comments ...etc
- Maximum 1 count for 1 lecture, 5 counts for entire course
- Starting from the second lecture
- Tell the instructor your student ID & name if asked
- The students who don't want to speak in English can write the question in English in the ZOOM chat (the instructor may pick it up and ask the ID & name)
- 80% small assignemnts
- see below
There are many small programming assignments. To do the assignments, you need to create your own copy of this repository through GitHub Classroom. These assignements needs to be submitted using pull request functionality of the GitHub. Look at the following document.
-
Do the assignment by yourself. Don't share the assignments with others.
-
Don't post the answers of the assignment on Slack
-
Late submission of an assignment is subject to grade deduction
-
Score each assignemnt will not be open soon (instructer needs to adjust weight of the score later)
