Why is this hyperbolic background invariant?
Want to share your content on Rbloggers? 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 halfplane \(\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 jinvariant 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.
Rbloggers.com offers daily email 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/datascience job.
Want to share your content on Rbloggers? click here if you have a blog, or here if you don't.