# Rendering Non-Euclidean Geometry in Real-Time Using Spherical and   Hyperbolic Trigonometry

**Authors:** Daniil Osudin, Christopher Child, Yang-Hui He

arXiv: 1908.01742 · 2019-08-13

## TL;DR

This paper presents a real-time rendering engine for non-Euclidean 2D spaces using hyperbolic and spherical trigonometry, polar coordinates, and azimuthal equidistant projection, enabling dynamic curvature changes without halting the application.

## Contribution

The paper introduces a novel real-time engine that calculates and renders non-Euclidean geometries with dynamic curvature adjustments using specialized trigonometric and projection techniques.

## Key findings

- Engine successfully renders non-Euclidean shapes in real-time.
- Curvature can be changed dynamically without stopping the application.
- The method has specific limitations and potential applications.

## Abstract

This paper introduces a method of calculating and rendering shapes in a non-Euclidean 2D space. In order to achieve this, we developed a physics and graphics engine that uses hyperbolic trigonometry to calculate and subsequently render the shapes in a 2D space of constant negative or positive curvature in real-time. We have chosen to use polar coordinates to record the parameters of the objects as well as an azimuthal equidistant projection to render the space onto the screen because of the multiple useful properties they have. For example, polar coordinate system works well with trigonometric calculations, due to the distance from the reference point (analogous to origin in Cartesian coordinates) being one of the coordinates by definition. Azimuthal equidistant projection is not a typical projection, used for neither spherical nor hyperbolic space, however one of the main features of our engine relies on it: changing the curvature of the world in real-time without stopping the execution of the application in order to re-calculate the world. This is due to the projection properties that work identically for both spherical and hyperbolic space, as can be seen in the Figure 1 above. We will also be looking at the complexity analysis of this method as well as renderings that the engine produces. Finally we will be discussing the limitations and possible applications of the created engine as well as potential improvements of the described method.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1908.01742/full.md

## Figures

26 figures with captions in the complete paper: https://tomesphere.com/paper/1908.01742/full.md

## References

16 references — full list in the complete paper: https://tomesphere.com/paper/1908.01742/full.md

---
Source: https://tomesphere.com/paper/1908.01742