Closing out the series with a parabolic transformation.
Closing out the series with a parabolic transformation. The horosphere center is at infinity, so this "limit rotation" looks like a translation in the upper half space model.
I've made a page that puts the entire set of animated gifs along with explanations in one place. I hope it can help provide an intuition about symmetries of hyperbolic 3-space!
http://roice3.org/h3/isometries/
It took me forever to figure out an example of this transformation in the hyperboloid model of H^3. Elliptic, hyperbolic and loxodromic were straightforward rotations, boosts and rotation+boost in SO(1,3), but I didn't realize that the term "parabolic" really meant "look for a parabola".
ReplyDeleteLayra Idarani I guess you mean a null rotation.
ReplyDeleteGreg Egan - what's a "null rotation"? A parabolic transformation in SO(1,3)?
ReplyDeleteJohn Baez A null rotation is a Lorentz transformation that preserves a null vector. I wrote a bit about them in SO(2,1):
ReplyDeletehttp://www.gregegan.net/SCIENCE/GR2plus1/NullRotations.html
Yeah, we end up with a null rotation; a null vector corresponds to a point at infinity, so we want it to be an eigenvector, with no other null eigenvectors. It was the "no other null eigenvectors" bit that confused me for a while before I figured out what was going on geometrically.
ReplyDeleteLayra Idarani, thanks for the comment! I hadn't thought through parabolics (or the others) in the hyperboloid model yet. It's been nice to think about them and follow this discussion.
ReplyDeleteToo bad the hyperboloid model for H^3 doesn't fit in R^3. It'd be cool to add pictures for it. I have to think about SO(2,1), or mentally move back and forth with the ball model to work through things. Hmm, maybe the orthographic projection of the hyperboloid to R^3 would make for some nice pictures...
I enjoyed the series! Thanks!
ReplyDeleteWait, wait, wait; what about parabolics centred at zero (instead of infinity)? That will look much more interesting. Also, it corresponds to the more interesting animations in the other cases (lox, hyp, and elliptic).
ReplyDeleteI like thinking of SO(3,1) as the group of conformal transformations of the Riemann sphere, which is the one-point compactification of the complex plane. Then we get a lot of null rotations by taking translations of the complex plane. As transformations of the Riemann sphere these fix the point at infinity and no other points. But the point at infinity is just like any other point in the Riemann sphere, so we can easily get null rotations that fix any point we want.
ReplyDeleteI agree with Saul Schleimer that we'll get a better picture of parabolic transformations acting on H^3 if we put the fixed point in H^2 near the middle of the image, not at infinity.
Saul Schleimer John Baez I think what you're asking for is the bottom left image on the linked page where Roice gives all his examples, or as an individual GIF:
ReplyDeletehttp://roice3.org/h3/isometries/parabolic.gif
Greg Egan - yes! I was just about to tell Roice:
ReplyDeleteIf you put the fixed point of your parabolic transformations of H^2 at the origin instead of at infinity, the points moving around on H^2 will trace out curves like the field lines of a dipole:
https://lh3.googleusercontent.com/sE2qZIb9WgMJMhmiPiYJXvKj9SJ_tMF1NzvLaFwc8U29Q4lGLAe7UwKAsSA6H0nIWsbxxcwrZdhYRV_u_tWlfOi7dZwcr-i0eWGS=s0
Greg Egan - Yes, that is what I was asking for. But I didn't see it on G+ or on his webpage when I looked... strange!
ReplyDeleteJohn, do you mean SO(2,1)? And: isn't the conformal group of a 2-manifold infinite-dimensional? (And: I wish you'd say complex line rather than complex plane, but I won't press the point.)
ReplyDelete/me makes a note to come back and re-read this after caffeine. A lot of it. :)
ReplyDeleteSorry for the confusion Saul Schleimer, John Baez. I posted with the fixed point at infinity since I had already posted with the fixed point at the origin a while back at https://plus.google.com/+RoiceNelson/posts/274MTq5rbEK
ReplyDeleteBut that was with a different shader and before I started this series, so perhaps I should have gone ahead and redone it as a separate image here.
Anyway, thanks Greg Egan for pointing to the location on the web page! At least everything is consistent there :)
Allen Knutson, I think he meant SO(3,1). I mention at the link above... the symmetries of hyperbolic 3-space are the Mobius transformations PSL(2,C), i.e. the conformal transformations of the Riemann sphere.
ReplyDeleteSO(2,1) ~ PSL(2,R) doesn't include all of these. It's interesting to think about which apply. It's the subset that take 3 points on the unit circle to another 3 points (without reversing orientation).
Oh right right SO(3,1). Once I remember that that complexifies to SO(4,C) ~ SO(3,C)^2, whereas PGL(2,C) complexifies to PGL(2,C)^2, then I've got my bearings again.
ReplyDeleteYes, I meant PGL(2,C) = SO(3,1), and the group of conformal transformations of the Riemann sphere is just that: finite-dimensional.
ReplyDeleteAnd here's my other confusion explained: en.wikipedia.org - Conformal field theory - Wikipedia
ReplyDeleteThe local conformal transformations are infinite-dimensional on surfaces, finite-dimensional on bigger manifolds.
Nice aniamtions, these help me understand your hyperbolic honeycomb code a lot. I saw this work a few days ago but I didn't have time look carefully into it. I'll try export it to a desktop version and add some material effects to the scene.
ReplyDeleteSome problems in your GLSL code on shadertoy: the `C_Sqrt` function is not implemented correctly (simply returned c) and the `M_Scale` function returned a wrong one . The multiplication in `M_Mult` function should be `C_Mult`.
ReplyDeleteLiang Zhao, thank you. Hopefully all these items are fixed up now.
ReplyDeleteI had copied functions from the Honeycombs project and converted to GLSL. I missed some things for functions not used in this shader since they got no testing. I still haven't tested the C_Sqrt function I just implemented btw.
I should probably stick this helper file in GitHub. Maybe I'll do that the next time I need it for another shader.
Roice Nelson I'm porting this shadertoy code to a desktop version so one can play with it using mouse and keyboard and can easily save the animation to video files. Currently I have managed to make the code run in the app, but I want to add more features and it becomes a little difficult for me to understand some logic in the code. Can I mail you for more questions about the code?
ReplyDeleteLiang Zhao, of course! Thank you for doing this :)
ReplyDelete