  This article gives an introduction to optimal transport, a mathematical
theory that makes it possible to measure distances between functions (or
distances between more general objects), to interpolate between objects or to
enforce mass/volume conservation in certain computational physics simulations.
Optimal transport is a rich scientific domain, with active research
communities, both on its theoretical aspects and on more applicative
considerations, such as geometry processing and machine learning. This article
aims at explaining the main principles behind the theory of optimal transport,
introduce the different involved notions, and more importantly, how they
relate, to let the reader grasp an intuition of the elegant theory that
structures them. Then we will consider a specific setting, called
semi-discrete, where a continuous function is transported to a discrete sum of
Dirac masses. Studying this specific setting naturally leads to an efficient
computational algorithm, that uses classical notions of computational geometry,
such as a generalization of Voronoi diagrams called Laguerre diagrams.
