Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Poincaré hyperbolic graphics #752

Open
cormullion opened this issue Sep 27, 2024 · 3 comments
Open

Poincaré hyperbolic graphics #752

cormullion opened this issue Sep 27, 2024 · 3 comments

Comments

@cormullion
Copy link

An idle question - I was browsing your fulsome documentation and saw this image:

https://juliamanifolds.github.io/manifolds/stable/manifolds/hyperbolic-041e6c97.svg

and I started to wonder whether images like this

IMG_7710

would be possible to make with Manifolds.jl?

@kellertuer
Copy link
Member

You indeed can.
I would not consider any of us an expert in Reciepts, and by now maybe would prefer to write a Makie one as well, but we have as one of the presentations of the Hyperbolic space the Poincaré ball – which for the 1D case boils down to the Poincaré disc you just showed.
Its reciept is illustrated at exactly the place you find the graphics you linked
https://juliamanifolds.github.io/Manifolds.jl/stable/manifolds/hyperbolic.html#poincare_ball_plot

You can also just see there how to generate the necessary points. The curves you see in that plot are generated with the shortest_geodesic(M, p, q, t) function for t between 0 (at p) and 1 (at q) as the connecting curve.
If you have a point and a direction, there is also geodesic(M, p, X, t) that starts in direction X.

The one thing I do not know – but that is more of a Makie-Question is how to fill parts of all the curves you would generate, because given two of the geodesics (shortest or based on the direction) I am not so sure how to compute whether and where they meet.

@mateuszbaran
Copy link
Member

We currently only have the geodesic part and Poincare disc representation of the functionality needed to render hyperbolic tilings. The main part is cell generation and rendering, which would have to be done from scratch. I'd rather suggest using an existing library such as https://gitpages.physik.uni-wuerzburg.de/hypertiling/hyperweb/ .

@cormullion
Copy link
Author

Thank you both.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants