Parametric Hopf torus

Posted on August 25, 2018 by Stéphane Laurent

Identify S3 with the unit quaternions and S2 with the unit quaternions with a null i-part component. Then the Hopf map is expressed as {Π:S3S2qq~q where the quaternion q~ is obtained from q by negating its i-th component.

Choose a curve p:[a,b]S2 and a lift of p, that is a map y:[a,b]S3 such that p=Πy.

For our illustration, we will take the closed curve p:[0,2π]S2 defined by {p1:tsin(hcos(nt))p2:tcos(t)cos(hcos(nt))p3:tsin(t)cos(hcos(nt)) where n is an integer.

The lift is easy to get: simply take y(t)=(1+p1(t),0,p2(t),p3(t))2(1+p1(t)).

Let’s check:

Ok.

The Hopf cylinder of p is then (t,ϕ)eiϕy(t), and we say it’s a Hopf torus when the curve p is closed. This is a parametric representation of a Hopf torus.

Here, the integer n determines the number of lobes of the Hopf torus, and
the parameter h controls the shape.

Now, apply the function (t,ϕ)eiϕy(t) and then apply the
stereographic projection.

Below is a R code after we got rid of the quaternions.

Now we can use the misc3d package to plot the projected Hopf torus.

Since I like Asymptote, I also provide the Asymptote code.

And I also like three.js: