# hackerpoet/noneuclidean

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/hackerpoet-noneuclidean).**

6,430 stars · 616 forks · C++ · MIT

## Links

- GitHub: https://github.com/HackerPoet/NonEuclidean
- awesome-repositories: https://awesome-repositories.com/repository/hackerpoet-noneuclidean.md

## Description

NonEuclidean is a graphics framework and rendering engine designed to compute and display three-dimensional scenes using non-standard spatial rules and geometries. It serves as a visualization tool for exploring complex mathematical spaces where traditional Euclidean laws of distance and angle do not apply.

The project implements custom rendering pipelines to visualize non-standard geometric projections and warped spatial logic. This includes the ability to map non-Euclidean coordinates to Poincaré disk or Klein models to render curved space on flat screens.

The system utilizes dynamic metric tensor calculations, manifold-based mesh deformation, and non-linear projection matrices to determine how objects and light bend. It further incorporates ray-marching distance estimation and vertex-shader coordinate warps to simulate spatial curvature based on camera distance.

## Tags

### Scientific & Mathematical Computing

- [Non-Euclidean Metric Projections](https://awesome-repositories.com/f/scientific-mathematical-computing/distance-metrics/non-euclidean-metric-projections.md) — Computes and displays three dimensional scenes using non-standard spatial rules and geometries. ([source](https://github.com/hackerpoet/noneuclidean#readme))
- [Metric Tensor Calculations](https://awesome-repositories.com/f/scientific-mathematical-computing/metric-tensor-calculations.md) — Implements dynamic metric tensor calculations to determine how light and objects bend in non-standard spaces.
- [Signed Distance Fields](https://awesome-repositories.com/f/scientific-mathematical-computing/euclidean-distance-calculators/signed-distance-fields.md) — Calculates surface intersections by stepping through a curved spatial field using signed distance functions.

### Part of an Awesome List

- [Graphics Programming](https://awesome-repositories.com/f/awesome-lists/devtools/graphics-programming.md) — Implements custom rendering pipelines to visualize complex mathematical spaces and non-standard geometric projections.
- [Experimental Spatial Design](https://awesome-repositories.com/f/awesome-lists/media/game-development/experimental-spatial-design.md) — Builds immersive environments with impossible architectural loops or warped spatial logic for surreal gameplay.

### Data & Databases

- [Non-Euclidean Space Projections](https://awesome-repositories.com/f/data-databases/data-analysis-visualization/visualization-frameworks-libraries/data-visualization/three-dimensional-visualizations/dimensionality-projection-plots/non-euclidean-space-projections.md) — Maps non-Euclidean coordinates to Poincaré disk or Klein models to render curved space on flat screens.

### Graphics & Multimedia

- [Geometry Visualization Tools](https://awesome-repositories.com/f/graphics-multimedia/geometry-visualization-tools.md) — Provides a tool for rendering and exploring complex mathematical spaces and non-Euclidean geometric shapes in real time.
- [3D Rendering Engines](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/scene-management-systems/3d-rendering-engines.md) — Functions as a graphics engine that computes and displays three dimensional scenes using non-standard spatial rules.
- [Non-Euclidean Graphics Frameworks](https://awesome-repositories.com/f/graphics-multimedia/non-euclidean-graphics-frameworks.md) — Provides a specialized framework for creating visual environments where traditional Euclidean laws of distance and angle do not apply.
- [Manifold-Based Deformations](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/3d-math-and-geometry-toolkits/mesh-modeling-tools/mesh-deformations/manifold-based-deformations.md) — Modifies geometric primitives in real-time to fit the topological constraints of non-Euclidean spatial manifolds.
- [Coordinate Warping](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/materials-shading/custom-shader-programs/vertex-shaders/coordinate-warping.md) — Offsets 3D vertex positions in the GPU pipeline to simulate spatial curvature based on distance from the camera.
- [Non-Linear Projection Matrices](https://awesome-repositories.com/f/graphics-multimedia/non-linear-projection-matrices.md) — Replaces standard perspective projections with custom matrices that account for non-constant spatial expansion.
