TU Berlin Fakultät II
Institut für Mathematik

Geometry Group



Geometry Group







Selected Topics in Discrete Differential Geometry and Visualization, Peking University, 2009



This course is part of the "National Mathematics Graduate Summer School" ( Google translation) that takes place at Peking University from July 12 to August 8. See also the Chinese homepage of this course. This course is supported by DFG-Project Geometric Problems and Special PDEs.

Surfaces and curves in space are of central importance in many application areas like Computer Graphics, Physics Simulation or Architecture. While Differential Geometry is concerned with smooth surfaces and curves, within a computer they are always represented as a finite set of points, connected by triangles or line segments. This means that surfaces are really treated as being polyhedral and curves are treated as polygons.

Discrete Differential Geometry is a very active area of research where (instead of looking at discrete objects just as numerical approximations to the smooth ones) the goal is to develop a theory of discrete curves and surfaces that has the same structure as the corresponding smooth theory. Quite often this approach leads to solutions that are "exact" on the discrete level (not just approximations) and provide highly efficient new algorithms.


Discrete surfaces with constant negative curvature

  • Ulrich Pinkall.
    Designing Cylinders with Constant Negative Curvature.
    In Discrete Differential Geometry, pages 57-66. Springer 2008. (download PDF)
  • Alexander Bobenko and Ulrich Pinkall.
    Discrete surfaces with constant negative Gaussian curvature and the Hirota equation.
    J. Differential Geom., 43(3):527-611, 1996. (online)
  • Alexander I. Bobenko and Ulrich Pinkall.
    Discretization of surfaces and integrable systems.
    In Discrete integrable geometry and physics (Vienna, 1996), pages 3-58. Oxford Univ. Press, New York, 1999. (download PDF)
filaments (4mb) particles (4mb) smoke around a sphere (7mb)

Discrete vortex lines in fluids

U. Pinkall, B. Springborn, S. Weißmann.
A new doubly discrete analogue of smoke ring flow and the real time simulation of fluid flow
J. Phys. A: Math. Theor. 40 (2007), 12563-12576. (online, arXiv:0708.0979 [nlin.SI])

Elastic deformations of discrete surfaces

Conformal maps between discrete surfaces

B. Springborn, P. Schröder, U. Pinkall.
Conformal Equivalence of Triangle Meshes.
ACM Transactions on Graphics 27:3 [Proceedings of ACM SIGGRAPH 2008] (online, download PDF)

Praxis Sessions

The lectures will be accompanied by practical introduction to using and developing software in this field.

Ready made examples

The following examples provide ready to use applications to experiment with. No programming knowledge is required.
3D-XplorMath-J Meets jReality JRBullet
CMC tori: Wente and Twisty Discrete surfaces with constant negative curvature
Planar vortex flow Planar elastic domain
Elastic domain in space Tractrix
mKdV flow Pendulum
Planar elastic string Delaunay triangulation
Three models for the Pendulum
More Math Labs at the website of the geometry group at TU-Berlin...

Basic tutorials

Follwing the steps below will enable someone with little programming knowledge to do some math with jReality.

Session 1

  1. Set up jReality as an eclipse project: Follow the description on the jreality wiki (or download the eclipse folder and download the prepared workspace, unzip them and start eclipse - look for eclipse.exe. When eclipse asks for a workspace use the downloaded workspace and add 2 general projects "jreality" and "ddgvis": got the menu File->New->Project...->General->Project, press "Next" and then use the exact names of the projects, press "Finish").
  2. Learn how to Display a geometry.
  3. Study the tutorial on how to use a parametric surface factory.
  4. Change the tutorial example in order to visualize a surface of your choice.
  5. Display the surface in JRViewerVR

Session 2

  1. Add an inspector panel for the ParametricSurfaceFactory in the example above. For this you need to download the new class ViewShrinkPanelPlugin.java and copy it to your eclipse project.
  2. Choose a one parameter family of surfaces (e.g. a minimal surface with its associated family) and implement it. Add a slider for this parameter.
  3. Have a look at the "Navigator" (you will find it in the right slot which you may open in the "Window" menu or with Ctrl-Shift-Right).
  4. Go through the introduction tutorials of the jReality developer tutorial. You may find the source code of these tutorials in the eclipse project "jreality" in the folder "src-tutorial" in the package "de.jreality.tutorial.intro".

Session 3-5: Advanced tutorial

In the Sessions 3-5 you should do a small project of your own, probably in groups of 2 students. Here are 4 suggestions for projects, that apply the theory taught in the course. To get started study the discrete K-surfaces tutorial or the Polygon editor tutorial and extend them.

A photo of the Students and Teachers

From right to left: Yucheng Lu, Haoshu Tian, Steffen Weissmann, Ulrich Pinkall, Paul Peters, Ruru Hao, Wei Jin, Wei Huayi, Pan Hao, Jingyang Zhong


Ulrich Pinkall

G. Paul Peters

Steffen Weißmann

G. Paul Peters . 12.10.2011.