Last Edited 18 December 2012 by

Find this document at

Math 198 Fall 2012

Modeling The Clifford Torus


The purpose of Cliffhopf is to model the stereographic projection of the Clifford Torus doing a 4th dimensional rotation, as in Tom Banchoff's movie on the Hypertorus, of which parts may be viewed here. After first being modelled with DPGraph, this Clifford Torus is modeled using the PyOpenGL library.


A torus is created by revolving a circle in the 3rd dimension around a circle, which is why a torus is a "surface of revolution." The Clifford Torus is a special kind of torus (a doughnut shaped surface) in the 4th dimension. It splits a 4th dimensional sphere in half; it is the latitude of the hypersphere. Much like a duocylinder, it is the product of two Cartesian circles. You can find a more geometrical definition of the Clifford Torus here.


The purpose of this project was to model the Clifford Torus, with hope of creating a viable CUBE program. It began in DPGraph, using the parametric equations found on, pictured here below.

S^1*S^1={(cos(theta),sin(theta),cos(phi),sin(phi))|0 is less than or equal to theta is less than 2 pi, 0 is less than or equal to phi is less than 2 pi}

From that equation, using the coordinates (x1,y1,x2,y2), this equation can be found and used.

The code for the DPGraph program can be found here.
You can purchase and download DPGraph here.

Here are some pictures of the DPGraph program for the Clifford Torus. Note, this torus is not rotating; it is static.

This is a top view of the Clifford Torus. Note the lines; in the next picture, you can more clearly what the lines actually are.

This is a side view of the Clifford Torus, with some of the torus cut away. It is easier to see the way each line is actually a circle that crosses the torus. Each circle is half of a linked pair.

After successfully modeling the Clifford Torus in DPGraph, the next step was to take it to Python OpenGL. The code for a wireframe version can be found here.

Here are some pictures from the OpenGL version of the Clifford Torus.

This is a moment during the Clifford Torus's rotation when it flips itself from one orientation to the perpendicular.

A similar view, but from the side of the skinned version of the Clifford Torus. A "handle" seems to be forming on one side, which will be the new tubular aspect forming the Torus.

From OpenGL, the next step was to get this into the CUBE via Syzygy. The code will be uploaded soon.

Here are some pictures of the SZG implementation of the Clifford Torus.

Here is a PDF of my final presentation.

Back To Top