Parisian Master of Research in Computer Science
Master Parisien de Recherche en Informatique (MPRI)


Computer Graphics and Scientific Visualization

(Informatique Graphique et Visualisation Scientifique)


  • Damien Rohmer (Ecole Polytechnique) -
  • Julien Tierny (CNRS) -


Computer graphics is a vast and recent field of computer science which deals with the creation and manipulation of computer-generated imagery at large. Important applications include image synthesis for the entertainment industry (movies, video games, etc.), for education and art (from virtual museums to augmented life performance) as well as design and simulation tasks in more traditional industries. In France, major nationwide economical domains involve notable users and contributors to computer graphics and visualization: car makers (Renault, PSA), aerospace designers (Airbus, Arianespace, Dassault), power industry (EDF), oil companies (Total, IFP), defense (CEA, DGA) as well as software companies (Ubisoft, Dassault Systèmes, Kitware).

This class presents the main concepts and techniques for the modeling, animation and visualization of 3D data and virtual worlds. In particular, it will address the following core questions: how to model and represent digital 3D objects - from static shapes to natural phenomena and virtual characters, how to animate them, and how to visualize and interactively analyze general 3D data. The class will also introduce the practical programming with 3D virtual scene using the Three.js, or OpenGL library.

The course will include a research seminar where students will present recent research papers in computer graphics or visualization and will give the opportunity to experiment 3D programming through a practical project.


The course will be given in English, except if all participants speak French. Slides and course notes are in English.

Course planning 2020-2021

The course takes place in Sophie Germain building, room 1013 (first floor).

It consists of 8 lectures of 3h each, scheduled on the Friday at 16:15 over the first teaching period.

  1. [18/09] Introduction. Scientific Visualization I (Domain representation + Scalar fields) (J. Tierny)
  2. [25/09] Scientific Visualization II (Vector fields + Tensor fields) (J. Tierny)
  3. [02/10] Introduction to Computer Graphics (pdf). Programming lab: [ Three.js in JavaScript ] or C++/OpenGL: [ Installation ], [ Basic OpenGL ], [ 3D scene/Animation ] (D. Rohmer)
  4. [09/10] Modeling (D. Rohmer) Surface representation (pdf) Modeling approaches (pdf)
  5. [16/10] Research seminar
  6. [23/10] Animation I (D. Rohmer) Animation (pdf)
  7. [30/10] online class Animation II (D. Rohmer) Simulation (pdf) Character Animation (pdf)
  8. [06/11] online class ( Presentation of your practical project

List of class recorded videos for the 30/10 (each video is available in English or French):

  • 01.a - Physics - Rigid spheres en fr (or via youtube en fr)
  • 01.b - Physics - Cloth en fr (or via youtube en fr)
  • 02.a - Character animation - Skin deformation en fr (or via youtube en fr)
  • 02.b - Character animation - Skeletal animation en fr (or via youtube en fr)
  • 02.c - Character animation - Crowd en fr (or via youtube en fr)


  1. Classes in gray correspond to your evaluation.
  2. Article presentation in the research seminar is individual. You must prepare a slide based presentation of the research article of your choice from the proposed list.
  3. No Written exam in 2020.

Research seminar

You are expected to present orally (using slides) your article in about 15 min (it will be followed by questions/discussions from the jury and other students).

There is no imposed format, but you are encouraged to include the following elements:


Explain the problem tackled in the article, what is the context, the application, why is it important to solve this problem, etc. We also need to understand what will be the main scientific contribution of the article (which where you should target your explanation). You can also explain why you choose this article.

Related works

Take some time to briefly summarize the main other approaches that are related to this problem. We need to understand what is different in the article you are presenting.

Presentation of the method

We need at the end to understand how the main idea of the method works.


  • You don't have to explain everything if it doesn't fit in the presentation time. You can perfectly focus on a subpart of the paper - the one you believe to be the most important. But make this clear and we may discuss the other parts during the discussion.
  • Overall, the objective is to explain the method clearly - don't try to include all the equations if they are not necessary. If you have equations, you need to take time to explain them.
  • This is a “visual” related course - please include images/diagrams, etc. for your presentation to help understanding the approach. You can also present videos.
  • You are however not supposed to give “a class”. You can make a short reminder on some notion if you believe that it should be done, but don't spend several slides in explaining some fundamental notions - you have to focus on the article.
  • You need to present the results of the method (hopefully using visual elements/images).
  • You are expected to comment these results: how they improve the state of the art, how they may compare to other approaches, is there some failure cases (are they discussed in the paper), is the method efficient to compute, etc.
Conclusion and discussion
  • You can provide a more “personal” point of view on the approach - do you believe it is a useful solution, does it “solves” the problem, or is there (possibly un-discussed) issues you may perceive. Is there new works that has been published more recently that tackles these issues. Would you have any suggestion on any possible improvement, etc.
  • Don't forget to conclude in reminding the main elements of the article. And make it clear when you have finished your presentation (you can have a closing slide so that everyone understand you are ready for questions).

Extra information

  • For equality between students, everyone is expected to present in English.
  • You will also be invited to ask questions to the other groups (questions and discussion is not restricted to teachers).
  • Take your precautions with respect to projection - the projector is equipped with HDMI connector:
    • Make sure you have a pdf version of your presentation (possibly with video files in the same directory) available on a usb stick with you (so that we can switch to other computers).
    • Don't be dependent on internet connection (Google slides, you tube videos, etc). Have all your material locally: Wireless issues sometimes happen during presentations.

Practical project instructions

- Create a 3D scene of your choice, or visualization of a scientific dataset (ex. animated character, natural scene, density or flow visualization, ...)

- You must develop one or more techniques presented during the class. This may include (non-exhaustively) – Parametric, procedural, or Implicit surface modeling – Feature extraction from a data set – Volume data visualization (scalar, vector or tensor) – Articulated character (forward or inverse kinematics) – Simulation: ex. cloth, hairs, crowds, fluids

- You can code with the language you want - It is allowed to use external tools or software (ex. Blender, ParaView, etc) providing existing effects to help you set up your 3D scene (ex. importing existing meshes, using existing deformers). However, you should code some algorithm by yourself and present it. - The goal is not to necessarily generate the most “beautiful” scene, but to develop and test some technical algorithms

- On November 06, you are expected to present the objectives, the main algorithms your developed, the results you obtained in an oral presentation (expected to be 15 minutes + 5 Q/A) with a demo. The session will take place online using Zoom, you will be able to show your result in sharing your screen. Beware that video quality and fluidity may not be well transmitted through visioconference system. If you have specific video results you wish to show at their optimal quality, you may pre-record them, upload them in some place and share the link in your presentation.

List of article for the research seminar

Available articles
2020 seminar
2019 seminar
2018 seminar

M2R offers

2020-2021 offers
Previous offers

Complementary information

Evaluation coefficient

Contribution to the research seminar and to the project seminar will count for half of the mark, the other half being a written exam.

Related classes

The computational geometry courses (2.14.1 by J.D. Boissonnat and 2.38.1 by E. Colin de Verdière) can serve as complementary classes.

  • “Computer Graphics: Principles and Practice”, J. Hughes, A. van Dam, M. McGuire, D. Sklar, J. Foley, S. Feiner, K. Akeley, 2014.
  • “Polygon Mesh Processing”, M. Botsch, L. Kobbelt, M. Pauly, P. Alliez, B. Lévy, 2010.
  • “The Visualization Handbook”, C. Johnson, C. Hansen, 2004.
  • “The Visualization Toolkit”, W. Schroeder, K. Martin, B. Lorensen, 2006.
  • “Topological Methods in Data Analysis and Visualization”, V. Pascucci, X. Tricoche, H. Hagen, J. Tierny, 2010
Universités partenaires Université Paris-Diderot
Université Paris-Saclay
ENS Cachan École polytechnique Télécom ParisTech
Établissements associés Université Pierre-et-Marie-Curie CNRS INRIA CEA