Section outline

    • Presentation video

    • Video of the general organization of the class (10min) (or direct link in case of login issues)

    • - Slides [html] [pdf]

    • Preparation of your computer for the lab class

    • We will use the following C++ based-exercises for the lab class.

      => Make sure you are able to compile the basic codes of the library: ex. the scene in scenes_inf585/00_introduction/ 

      You can check the process in following these installation instructions.

      Please check them as early as possible, and before going to the lab class. If you are on Windows, you will need to install Visual Studio - it is a possibly long process that requires good internet connection.

    • 13:30 - 14:30 Lecture

      Videos to watch on your own and think about the questions in it.

      (You don't have to be in the classroom during this time.)

           - 00. General Organization of the class (if you haven't watched it yet): [Video (10 min)], [Slides], [pdf]

           - 01. Procedural animation: Particles [Video (20 min)] or [src video], [Slides], [pdf]

           - 02. Procedural animation: Noise [Video (10 min)] or [src video], [Slides], [pdf]

      (Note that you subtitles can be activated on YouTube videos)


    • 14:30 - 15:30 Interactive Session

      The "physical class" starts at 14:30 in Amphi Curie. Please be in the class at that time.

      We will discuss the questions given in the lecture videos.

      If you cannot attend physically, the session should be visible on Zoom (but with limited quality)

    • - Video record of the interactive Zoom session (from 2021 - if you missed the onsite version from 2023)

    • 15:45 - 17:45 Lab Class

      Don't forget to take with you:

      - Your laptop. 

      - Your laptop charger (3D consume the battery very quickly). 

      - A mouse (3D camera motion is not adapted to touchpad)

      Make sure your system is already installed (especially if you are on Windows) before going to the lab class (see installation process).

      Objectives: 

      - Introduction to the use of CGP library (obligatory)

      - Procedural Motion (part A) - spheres falling under gravity (obligatory)

      - Procedural Motion (part B) - billboards (additional)


    • Additional content

      For those who didn't fill the pre-requisites, here are some extra contents depending on what you miss:

      - Reminders on Computer Graphics [Slides], [pdf]

      -- Videos in english: [Introduction to CG], [Fundamental notions for 3D Programming], [OpenGL]; 

      -- Videos in french: [Introduction to CG], [Fundamental notions for 3D Programming], [OpenGL]; 


      [demo of the interactive session (noise anim)]

    • 13:30 - 14:30 Lecture

      Videos to watch on your own and think about the questions

         - 05. Facial Animation [Video (9 min)], or [src video], [Slides], [pdf]

         - 06. Affine Transformation [Video (30 min)], or [src video], [Slides], [pdf]

         - 08. Volume Deformation I [Video (6 min)], or [src video], [Slides], [pdf]

    • 14:30 - 15:30 Interactive Session

      The "physical class" starts at 14:30 in Amphi Curie. Please be in the class at that time.

      We will discuss the questions given in the lecture videos.

      (The session will be broadcasted on Zoom for whose at distance)

    • 15:45 - 17:45 Lab Class

      Objectives: 

      - Deformation - Manual deformers (obligatory)

      - Interpolation - Blend Shapes (additional)


    • Upload you code before Monday the 16th of January at 1pm.

      Make an archive (.tar.gz or .zip) that contains your src/ directory(ies) only. Do not upload your temporary files (build/ directory, etc).

      It should contains at least the code of "Manual deformers", and possibly also the "blend shape".

      This upload is individual (if you worked in pairs, each of you need to update it).


    • Additional Content

      Lecture on interpolating key-positions using splines (if you haven't followed INF443 for instance):

         - 04. Interpolating positions [Video (14 min)], [Slides], [pdf]

      Lecture on rotation and quaternions (if you haven't followed INF574 for instance):

         - 07. Rotations and Quaternions [Video (25 min)], [Slides], [pdf]

    • 13:30 - 14:30 Lecture

      Videos to watch on your own 

        - 09. Volume Deformation (II) [Video (27min)] or [src video] [Slides] [pdf]

        - 10. Surface Deformation [Video (25min)] or [src video] [Slides] [pdf]


    • 14:30 - 15:30 Interactive Session

      The "physical class" starts at 14:30 in amphi Curie. Please be in the class at that time.

      (The session will be broadcasted on Zoom for those at distance)

    • 15:45 - 17:45 Lab Class

      Objectives: 

      Laplacian Deformation (obligatory), part ARAP (additional)

      FFD (additional)


    • 13:30 - 15:30 Lecture

      Videos to watch on your own 

        - 11. Animation Pipeline in Production [Video (37min)] or [src video], [Slides], [pdf]

        - 12. Skinning [Video (30min)] or [src video], [Slides], [pdf]

        - 13. Skeletal Animation [Video (25min)] or [src video], [Slides], [pdf]

      + Optional - for students who are not familiar with crowd and boids:

         - 14. Crowd [Video (10 min)] or [src video], [Slides], [pdf]


    • The videos take all the lecture time - there is no interactive session this class. We meet directly in the lab class room.

    • 15:45 - 17:45 Lab Class (rooms 32 & 33 this week) 

      Objectives: 

      - Linear Blend Skinning (obligatory), Dual Quaternion Skinning (additional)

      Hint: These two updated files give you more help regarding the use of the code structure (skeleton.cpp, skinning.cpp)

    • 13:30-14:45 Lecture

      Videos to watch on your own 

        - 15. Physically-based simulation models [Video (49min)], or [src video], [Slides] [pdf]

        - 16. Rigid Spheres [Video (21min)], or [src video] [Slides] [pdf]


    • 15:00-15:30 Test 1 

      The test starts at 15h00 in the computer lab class room PC35/PC36

      - Bring your material with you (laptop with battery, code, manuscript notes, etc.) -> you can use it during the test.

      - Please come in the lab class room 35/36 instead of amphi Curie (there will be the fixed computer in case you have issues with your internet connection).

      - Offsite Eurotech (and excused students) can do the test remotely at the same time. In this case, you will need to be connected on the Zoom link (provided by Moodle) with your webcam turned on (and showing you).

      - If you live far away and cannot come because of the strike, send a e-mail beforehand and do the quiz remotely while being connected on the Zoom link (provided by Moodle) with your webcam turned on.

    • The program includes everything up to last week class included (= including character animation). 

    • Principle:

      It is a multiple-choice questions quiz. 

      - Questions may be related to class and lab class

      - Duration: 30min, about 4-5min per question 

         - One or two questions should be trivial to answer - don't waste too much time on them

         - Others may take more time: longer questions, intermediate computation/drawings, etc. - prepare a sheet of paper + pen near your computer, it can help. You may also want to be ready to have a tool to do some quick numerical computation such as matrix \times vector (not obligatory, but can also help).

      - "Terribly wrong answers" to trivial questions will be penalized by negative points. Otherwise wrong answers to non trivial questions are not associated to negative points.

      - You have access to your computer and material - so to your slides, lab class code, etc.

      - Any type of communication between you is forbidden during the test


    • 15:45-17:45 Lab Class

      Objectives:

      Obligatory: Spheres in collisions (without extensions)

      Additional: Spheres in collisions + rotation and/or translation of the box.

      Possibility to start the lab on Cloth Simulation as well if you want to take a bit of advance.


    • 13:30-15:00 Lecture

      Videos to watch on your own 

      (Note: The topic of video 17 is linked to 16. But 17 is a little bit long. You may prefer to watch video 16 and 18 first -- most useful for the lab class -- and watch 17 only after)

        - 16.  Cloth simulation [Video (17min)], or [src video], [Slides], [pdf]

        - 17.  Numerical solution of ODE [Video (40min)], or [src video], [Slides], [pdf]

        - 18.  Fluids (I) [Video (17min)], or [src video], [Slides], [pdf]


    • 15:00-15:30. Interactive session

      Please be in amphi Lagarrigue at 15:00. (broadcast on Zoom for offsite students)

    • 15:45-17:45 Lab Class

    • Objectives:

      Obligatory: Cloth simulation

      Additional: Stable Fluid (otherwise to do at the next lab class)


    • 13:30 - 14:15 - Lecture

      Last lecture video to watch on your own 

        - 19. Fluids II [Video (26min)], or [src video], [Slides], [pdf]

    • No interactive session this class. We meet directly in the lab class room at 14:15.

    • 14:15 - 17:45 Lab Class


    • - Stable Fluids (if not done yet) or/and SPH

    • Upload you code before Monday February the 20th at 1pm.

      Make an archive (.tar.gz or .zip) that contains your src/ directory(ies) only. Do not upload your temporary files (build/ directory, etc).

      It should contain the code of "Stable Fluids" or "SPH" (or both).

      This upload is individual (if you worked in pairs, each of you need to update it).


    • Extra info
    • Additional info (internships)

      Research internships available in Game & Machine Learning at Focus.

      If you want more info, please contact: Stephane.KAUFMANN@focusent.com

    • 13:30-14:00 Test 2 

      The test starts at 13h30 in the computer lab class room PC35/PC36

      - Bring your material with you (laptop with battery, code, manuscript notes, etc.) -> you can use it during the test.

      - Please come in the lab class room 35/36 (and not in amphi Curie, there will be the connected fixed computer in case you have issues with your internet connection).

      - Offsite Eurotech (and excused students) can do the test remotely at the same time. In this case, you will need to be connected on the Zoom link with your webcam turned on (and showing you).

    • The program includes all simulation parts 

      (physically-based simulation, rigid spheres, cloth simulation, ODE, fluids)

    • Principle:

      It is a multiple-choice questions quiz. 

      - Questions may be related to class and lab class

      - Duration: 30min, about 3-4min per question 

         - One or two questions should be trivial to answer - don't waste too much time on them

         - Others may take more time: longer question, intermediate computation/drawings, etc. - prepare a sheet of paper + pen near your computer, it can help. You may also want to be ready to have a tool to do some quick numerical computation.

      - "Terribly wrong answers" to trivial questions will be penalized by negative points. Otherwise wrong answers to non trivial questions are not associated to negative points.

      - You have access to your computer and material - so to your slides, lab class code, etc.

      - Any type of communication between you is forbidden during the test


    • 14:00-17:45 Project

    • Projects topics

    • You are free to select your project topics as long as it relates to computer animation and deformation - check with us once you have your idea.

      Typical projects can be:

      - An extension of one of the lab class.

      - An implementation of a standard technique presented in class but not done in the lab class.

      - Mixing different lab-class approaches to generate a complex scene, or an interactive demo.

      - An implementation of a research article.

    • Examples of possible projects:

      Articles (with implementation that seems reasonably tractable in limited time):

      - [Vector Field Based Shape Deformations, SIGGRAPH 2006] - The use of vector fields for (volume-preserving) shape deformations.

      - [The Line of Action: an Intuitive Interface for Expressive Character Posing, SIGGRAPH Asia 2013] - The us of sketching for posing characters (a simple example of curve-drawer implementation is proposed here).

      - [FABRIK: A fast iterative solver for the Inverse Kinematics problem, Graphical Models 2011] - Implementing the inverse kinematics solver applied for instance to the skinned character in order to make it walk on various terrains.

       - [Velocity Skinning for Real-Time Stylized Skeletal Animation, EUROGRAPHICS 2021] - simple geometric method to add dynamic effects on skinned meshes.

      - [A simple model of Ocean Waves, SIGGRAPH 1986] - A simple standard model for procedural waves on oceans. (or model of breaking waves [Real-time Breaking Waves for Shallow Water Simulations, Pacific Graphics 2007])

      - [Animating Sand as a Fluid, SIGGRAPH 2005] - Implementing the PIC/FLIP approach that mixes grid and particles.

      - [Unified Particle Physics for Real-Time Applications, SIGGRAPH 2014] - Shape matching approach to deform arbitrary shapes using position-based-simulation. (Only if you haven't done already this project in INF574).

      - [Realistic Buoyancy Model for Real-Time Applications, EUROGRAPHICS 2020] - lightweight geometric method to simulate buoyant object on water.

      (non exhaustive listing)

    • Other "classical" projects subjects:

      - Implementing a rigid body simulator.

      - Interaction between fluid and rigid-body.

      - Cloth simulation with self-collision handling.

      - Adding efficient acceleration structure for collision handling

      - Boids simulation for crowd

    • Example of previous years projects: 

      - Simulation of "Marble Machine"

      - Animated dancing body with cloth simulation

      - Controllable walking character on terrain

      - Multi-phase SPH simulation

      - Cage based deformation

      - Cloth and spheres simulation (trampoline, piñata, etc.)

      - Simulation of pool game

      - FPS-like game.

      - Simulating "crêpes" heating on a pan (SPH for liquid, cloth simulation for solid).

      - Hair simulation

      - Balloon scene from the movie "up"


    • This 4h seance will be fully dedicated to your project

      No lecture, we can meet directly in the computer room 33 (8:30am).

    • Evaluation Form on INF585 - please fill it so that we have your feedback

    • (don't forget do fill the evaluation form of the class if you haven't do so yet)

    • Drop your final project before Friday 17th 27th 31th of March 2023 at 20:00 (Paris Time)

      Your archive should contain:
      • Your code (remove the build/ directory, but let all the library and asset files such that your program can be compiled and executed directly)
      • A short video representing your results (or at least a representative image)
      • A report of about 5 pages explaining your project/algorithm, etc.

      The project can be done in pairs, or solo.