Thurston's UniVR

Le retour des 8 géométries de Thurston ! Thurston’s geometries return!

Présentation du projet Presentation of the project

Thurston's UniVR est un projet sous Unity visant à représenter les 8 géométries de Thurston en réalité virtuelle, créé dans le but d'aider les chercheurs en mathématiques à comprendre et appréhender ces géométries non-euclidiennes. Thurston's UniVR is a project made with Unity, that aims at representing Thurston's eight geometries in virtual reality. This project's goal is to help researchers in mathematics understand and apprehend these non-euclidean geometries.

Contexte du projet Context of the project

Les géométries non-euclidiennes sont un concept assez abstrait qui pour beaucoup est difficile à représenter. Pour cette raison, notre client Rémi COULON, chercheur à l’IRMAR, et son équipe ont créé un site web 3-dimensional.space permettant de visualiser les 8 géométries de Thurston. L’année dernière un nouveau projet a vu le jour : rendre possible la visualisation de ces géométries en réalité virtuelle sur Immersia, la plateforme de RV rennaise de l'IRISA. Ce groupe d’étudiants a pu implémenter 5 des 8 géométries de Thurston, nous léguant la tâche d’implémenter les 3 dernières, dites complexes. Non-euclidean geometries are a quite abstract idea which is hard to represent for most people. For this reason, our client Rémi COULON, researcher at IRMAR, and his team have made a website 3-dimensional.space allowing us to visualize the 8 Thurston’s geometries. Last year, a new project was born : to make it possible to visualize these geometries with virtual reality on Immersia, the Rennes VR platform of IRISA. This student group has succeeded to implement 5 of the 8 Thurston’s geometries, leaving us with the last 3, said complex.

Nouvelles fonctionnalités New features

Implémentation de Nil Implementing Nil

Nil est une géométrie non-euclidienne dont la particularité est qu'elle est représentée par un groupe de matrices nilpotentes. Une matrice nilpotente est une matrice qui devient nulle si on l’élève à une certaine puissance. Dans cette géométrie, les géodésiques sont rectilignes dans le plan xOy mais s’enroulent en spirale autour de l’axe z. Nil is a non-euclidean geometry whose particularity is that this geometry can be described by a group of nilpotent matrices. A nilpotent matrix is a matrix that will transform into a zero matrix if multiplied by itself a certain number of times. In this geometry, geodesics are expanding straightly if they belong to the xOy plane but they form spiral along the z axis.


Implémentation de Sol Implementing Sol

Sol est une géométrie non-euclidienne qui a la particularité d’être la géométrie 3D la moins symétrique des huit. Un autre aspect est qu’il existe deux plans hyperboliques passant par chaque point. Dans cette géométrie, les géodésiques se courbent vers les z positifs dans le plan xOz et vers les z négatifs dans le plan yOz. Entre ces deux plans, les géodésiques s’enroulent en spirales. Sol is a non-euclidean geometry whose particularity is to be the least symmetrical geometry out of the eight 3D geometries. Another thing about Sol is that each point possesses two planes that pass by it. Finally geodesics are bending towards positive z if they belong to the xOz plane and toward negative z if they belong to the yOz plane. In between, geodesics are bending in spirals.


Implémentation de SL2R Implementing SL2R

SL2R est une géométrie non-euclidienne dont la particularité est qu’elle est représentée par l’ensemble des matrices 2x2 respectant la contrainte d’avoir un déterminant égal à 1. La visualisation de SL2R est relativement similaire à celle de Nil. SL2R is a non-euclidean geometry whose particularity is that it’s represented by all 2 by 2 matrices respecting the constraint that its determinant is equal to 1. The visualization of SL2R is very similar to Nil’s one.


Optimisations Optimizations

Du bruit peut aussi être généré par des objets trop proches de la bordure des cellules. Ceux-ci se retrouvent partiellement téléportés et donc mal affichés. On peut corriger ce problème avec le creeping, qui permet de détecter cette "fausse" téléportation et revenir en arrière. Cependant, pour les géométries complexes comme Nil, il n'existe pas de formule, même approchée, pour corriger ce bruit. On doit donc utiliser une méthode par dichotomie pour localiser précisément la frontière, ce qui est beaucoup plus coûteux en calcul. Sometimes, noise can be generated by objects too close to the cell border. It brings problems with partial teleportations leading to wrongly diplayed objects. This problem can be avoided thanks to the creeping which will detect this "false" teleportation and come a few steps back to solve this issue. Howevever, for complex geometries such as Nil, there isn't any formulae to correct this noise. Therefore we have to use another method using dichotomy in order to locate precisely the border of the cell, the new problem generated is that it needs more resources.


Équipe Team


Priya ASSE
Raphaël DUPONT
Malo HANGRAN
Marin-Marie LE CORNEC
Cristian MARTINEZ
Timothé ROSAZ
Alexandre SABBADIN

Encadrants & Client Supervisors & Client


Bruno ARNALDI
Enseignant chercheur à à l'INSA Rennes Teacher-researcher at INSA Rennes
Rémi COULON
Client du projet et chercheur en mathématiques à l'IRMAR Project's client and mathematics researcher at IRMAR