Why is this hyperbolic background invariant?

[This article was first published on Saturn Elephant, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

I have a mathematical question for you, because it is a mystery for me.

Look at this animation:

I get it as follows. Each frame corresponds to a value of t[0,3[ (I take 160 values of t subdivising [0,3[). Here is how I get the frame corresponding to one value of t:

  • for each point in the unit square S=[0,1]2, I take its complex affix z, and I send z to the open upper half-plane H={z|(z)>0} with a conformal map ψ from S to H;

  • I attribute a color to Rt(λ(ψ(z))) where R is the Möbius transformation of order 3 defined by R(z)=1z+1 and λ is the modular lambda function.

The modular lambda function and the conformal map ψ are implemented in my R package jacobi.

My question is: why does the hyperbolic tessellation that we can see as the “background” of the animation not move? Why is it invariant?

I observed the same phenomenon for other modular functions, for example the Klein j-invariant function.

The color mapping C is defined with the help of the HSI color space. The color C(z) depends on the phase of z only. Precisely, C(z) is the HSI color with:

  • hue [0,360[ given by the phase φ(z)[0,2π[ of z converted to degrees;

  • saturation given by (1+sin(w))/2 where w=2πlog(1+φ(z));

  • intensity given by (1+cos(w))/2 with w as above.

Why do we get such a result? I really don’t know.

Before leaving you, let me show you a 3D version of this animation that I made with the isocuboids R package:

I hope you like it.

To leave a comment for the author, please follow the link and comment on their blog: Saturn Elephant.

R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)