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 \in [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 \(\mathbb{H} = \bigl\{z | \Im(z) > 0\bigr\}\) with a conformal map \(\psi\) from \(S\) to \(\mathbb{H}\);

  • I attribute a color to \(R^t\Bigl(\lambda\bigl(\psi(z)\bigr)\Bigr)\) where \(R\) is the Möbius transformation of order \(3\) defined by \(R(z) = -\dfrac{1}{z+1}\) and \(\lambda\) is the modular lambda function.

The modular lambda function and the conformal map \(\psi\) 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 \(\mathcal{C}\) is defined with the help of the HSI color space. The color \(\mathcal{C}(z)\) depends on the phase of \(z\) only. Precisely, \(\mathcal{C}(z)\) is the HSI color with:

  • hue \(\in [0, 360[\) given by the phase \(\varphi(z) \in [0, 2\pi[\) of \(z\) converted to degrees;

  • saturation given by \(\sqrt{\bigl(1 + \sin(w)\bigr) / 2}\) where \(w = 2\pi\log\bigl(1+\varphi(z)\bigr)\);

  • intensity given by \(\bigl(1 + \cos(w)\bigr) / 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)