Dr. Aaron Montag
Geometry and Visualization
Tel: +49-(0)-89-289 18353
My mission is it to ease the process of creating GPU accelerated visualizations for Mathematicians and Educators. I have developed CindyGL, which embeds shader programming into the dynamic geometry software CindyJS. Several mathematical concepts from geometry, complex analysis, differential equations, and statistics can be investigated and communicated through this framework.
GPU accellerated visualizations
CindyGL makes it possible to use the GPU within dynamic geometry software. Let me present you here a small collection of interactive visualizations that I generated through this framework.
Stereographic projection of spherical footage.
In this applet, you see how the stereographic projection of a sphere onto a plane is obtained. For each point on the surface, a ray from the north-pole through this point is constructed. The intersection of the ray with the plane is the projected point.
Arbitrary spherical footage can be put onto the sphere.
This is a collection of video-feedback loops generated within CindyJS. This setup was used for a demonstration at the Open Doors Day at Technical University of Munich 2016.
In order to run these examples you require a webcam that points to your screen. You might use an external screen and your internal webcam or a USB-connected camera..
Raycasting algebraic surfaces
CindyGL is powerful enough to implement a raycaster, that can render surfaces, defined as zero-sets of algebraic functions in three variables.
In the picture on the left, the set $x^2+z^2-1/3*(1+y)^3*(1-y)^3=0$ is rendered. The lightning is obtained via a Monte Carlo simulation, which implementation can also be found in TUMinteractive.
Deformations of spherical footage
Spherical footage, if interpreted to be laid on the Riemann sphere, can be conformally edited using analytic functions.
If you enter a complex function in this applet, it is pulled back through the stereographic projection. Each pixel with complex coordinate $z$ gets the color of the pixel with coordinate $f(z)$. On the picture on the left, the function $f(z)=z^2$
Nice effects can be obtained if conformal functions that describe Droste effect are applied in this setting. If this effect applied to spherical footage, it is possible to investigate how a mathematical continuation looks like if you turn around.
Simulation of PDEs
CindyGL can also be used to simulate PDEs. For instance, the Navier Stokes equations can be approximated with it or reaction–diffusion systems can be simulated with it.
Interplay with gesture detection
It is possible to access PoseNet/Tensorflow in CindyJS. The detection of poses of a webcam videostream combined with a framework that enables GPU accellerated computation make it possible for instance to render a Human tree based on detected gestures or the Julia sets can be intuitively controlled by gestures.
Seminars and Tutorials
Teaching assistent and tutoral managment linear algebra for physics
Seminar: Mathematische Visualisierung auf der Grafikkarte
Tutorials in Geometriekalküle and Projective Geometry 2
Sommersemester 2018 Übungsleitung zu Differentialgeometrie: Grundlagen
Sommersemester 2017 Übungsleitung Introduction to Topology (Lehrpreis der Fachschaft Mathematik: Goldener Zirkel für den besten Übungsbetrieb im Sommersemester 2017)
Wintersemester 2016/2017 Tutorium zu Analysis 1 (EI)
Sommersemester 2014 Tutorium zu Projective Geometry
Wintersemester 2013/2014 Tutorium zu Algebra 1
Sommersemester 2013 Tutorium zu Einführung in die Theoretische Informatik 1
A. Montag, Domain Parallel Machines, Dissertation, 2020
- A. Montag, J. Richter-Gebert: Bringing Together Dynamic Geometry Software and the Graphics Processing Unit, Preprint 2018, arXiv 1808.04579
- A. Montag, J. Richter-Gebert: CindyGL: Authoring GPU-based interactive mathematical content. In: International Congress on Mathematical Software (ICMS), 2016
- Bachelorarbeit: Interactive Image Sequences Converging to Fractals, 2014