All Projects → neozhaoliang → Hyperbolic-Honeycombs

neozhaoliang / Hyperbolic-Honeycombs

Licence: MIT License
Visualize 3d/4d hyperbolic honeycombs and sphere packings.

Programming Languages

GLSL
2045 projects

Prerequisite: You need to install Fragmentarium and run the .frag code in Fragmentarium.

This project contains several programs that visualize hyperbolic Coxeter groups of rank 4/5 and level 1/2/3. The curious users may refer to Chen and Labbé's paper for the math between hyperbolic geometry and ball packings.

Note: the rendering parameters in the code have been set to a moderate level, to render high quality images you may need to tweak with the following tabs on the right:

  • MaxRaySteps
  • FudgeFactor
  • Uncomment the #define USE_IQ_CLOUDS and #define KN_VOLUMETRIC in the header

2D hyperbolic tilings (rank = 3, level = 1)

Shadertoy live

From left to right: compact tiling, paracompact tiling (with ideal vertices on the boundary), non-compact tiling (with hyperideal vertices outside the space)

3D hyperbolic honeycombs (rank = 4, level = 1, 2)

(Images with "holes" on the boundary are of level 2)

2D circle packings (rank = 4, level = 2)

Shadertoy live

Circle packings from platonic solids

In order (left to right, top to bottom): tetrahedron, cube, octahedron, dodecahedron, icosahedron.

Shadertoy Live

Non-reflective circle packings

These packings follow from a preprint of Kapovich and Kontorovich. Level not defined.

Extended Bianchi groups. Left: Bi23. Right: Bi31.

Groups from Mcleod's thesis. Left: Modified f(3,6). Right: f(3,14).

2D slices of 3D ball packings (rank = 5, level = 2)

Shadertoy live

3D ball packings (rank = 5, level >= 2)

Top row: level 2 groups give dense ball packings of the unit ball.

Second row: level > 2 groups have overlapping balls, they give fractal patterns if some of the balls are removed. Basically these are the fratals in the next section but moved to the Poincaré unit ball model.

Fractals from 3D ball clusters (rank = 5, level = 3)

Authors

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].