Skip to content

CoCoSol007/hyper

Repository files navigation

Contributors Forks Stargazers Issues License



A Non-Euclidean Rendering Engine.


Hyper is an experimental rendering engine exploring non-Euclidean spaces. It begins with the Poincaré disk model (2D) and evolves into a hybrid 3D system where the X and Y axes are hyperbolic, and Z remains Euclidean. Using ray-casting, the engine renders an infinite hyperbolic maze—an educational and interactive experience designed to visualize non-Euclidean geometry, hyperbolic tilings, and maze algorithms. Concepts are made accessible through animations, simulations, and hands-on exploration.

Quickstart

Clone the repository

git clone https://github.com/cocosol007/hyper.git
cd hyper

3D

To run the 3D view, run the command

./gradlew run
poincare.mp4

3D Klein model

To run the 3D Klein model view, run the command

./gradlew run --args="klein"
klein.mp4

3D Gnomonic model

To run the 3D Gnomonic model view, run the command

./gradlew run --args="gnomonic"
gnomonic.mp4

Ray-Caster Maze

To run the RayCaster maze, run the command

./gradlew runRayCaster
example.mp4

Poincaré and Beltrami–Klein disk model

To run the 2D Poicaré disk model, run the command

./gradlew run2D --args='poincare'

To run the 2D Klein model, run the command

./gradlew run2D --args='Klein'
Example_2D.mp4

Gnomonic projection

To run the 2D ./gradlew run2D --args='gnomonic' model, run the command

./gradlew run2D --args='gnomonic'
Gnomonic.mp4

Documentation

0. Project Setup

I. Foundations in Hyperbolic Geometry

II. Tessellations

III. 3D Rendering

IV. In-Depth Explorations

Licence

See all about our license here

GPL3

Contributors

Contributeurs

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages