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

regular 2D hyperbolic polygons using the poincaré disk model #1814

Open
Hjagu09 opened this issue Oct 23, 2023 · 0 comments
Open

regular 2D hyperbolic polygons using the poincaré disk model #1814

Hjagu09 opened this issue Oct 23, 2023 · 0 comments

Comments

@Hjagu09
Copy link

Hjagu09 commented Oct 23, 2023

Hyperbolic geometry is an type of non-Euclidian geometry which I would love to see an coding train video on. Hyperbolic geometry is defined as this on the Wikipedia page:

hyperbolic geometry (also called Lobachevskian geometry or Bolyai–Lobachevskian geometry) is a non-Euclidean geometry. The parallel postulate of Euclidean geometry is replaced with:

For any given line R and point P not on R, in the plane containing both line R and point P there are at least two distinct lines through P that do not intersect R.

Basically, for any line there can be a lot of different parallels to one line, like this (note that this are all straight lines) hyperbolic parallel lines


The most common way of projecting hyperbolic space is using the poincaré disk model. All images I shown here uses this model. It projects the entire hyperbolic space on to an disk and it's most notable popertys are:

The distance from the center of the disk to the edge is infinite

straight lines consist of arcs of Euclidean circles contained within the disk that are orthogonal to the boundary of the disk, plus all diameters of the disk.

Challenge

Given any p and q were (p - 2) • (q - 2) > 4 render regular hyperbolic polygons with p vertices and q polygons adjacent to each vertex using the poincaré disk model.


regular hyperbolic polygons for p=3 q=12
The above image is an solution for p=3 q=12
For an complete solution, check out this page

Resources


art
less arty art

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

1 participant