Projection à l'écran d'un maillage 4D imaginaire

11

Comme exercice mental, j'essaie d'imaginer projeter un maillage arbitraire 4D sur l'écran (2D).

Je suppose qu'un seul triangle 4D ne comporterait toujours que 3 points, mais chacun de ces 3 points serait défini par une colonne à 4 dimensions.

Serait-il plus logique de définir une matrice de projection pour mapper d'abord l'espace 4D à l'espace 3D, puis qu'OpenGL fasse sa propre projection de ces données vers l'espace 2D?

Ou serait-il préférable de planifier simplement une projection de 4 à 2 directement?

Merci beaucoup.

bitcruncher
la source
Intéressant, y a-t-il un contexte de développement de jeu?
AttackingHobo
c'est juste exploratoire pour l'instant, mais finalement, oui.
bitcruncher
Jusqu'à ce que vous ajoutiez une sorte de contexte de développement de jeu, je vais voter pour fermer pour être hors sujet.
AttackingHobo
En guise de remarque, les coordonnées homogènes avec lesquelles les API graphiques traitent sont un type spécial d'espace 4D, dans lequel tous les points sur une ligne passant par l'origine sont considérés comme le même point en 3D. Autrement dit, <kx, ky, kz, k> est le même point <x, y, z> pour tous les k.
Lars Viklund
4 axes de rotation? Tu plaisante, n'Est-ce pas?
subb

Réponses:

7

La généralisation multidimensionnelle d'un triangle est un N-Simplex , voici une vidéo d'une projection d'un tel objet. Voici une autre vidéo intéressante d'un hypercube 4D.

Cette page wiki est un bon point de départ si vous voulez en savoir plus sur la quatrième dimension et comment visualiser de tels objets. Il relie également une page wiki avec une liste de jeux 4D .

Concernant votre question sur la projection: Cet article explique le calcul des matrices de projection orthographique et en perspective pour les dimensions supérieures. Un autre grand article est la visualisation à quatre espaces des objets 4D par Steven Richard Hollasch. En particulier, le paragraphe "4.1: Aperçu de haut niveau de la projection 4D à 2D" répond en détail à votre question de projection et est fourni avec le code source.

Enfin, voici un rendu N-dimensionnel utilisant OpenGL fourni avec le code source complet.

Maik Semder
la source
Je ne sais pas pourquoi tu traiterais un triangle comme ça. Tout comme un maillage 3D contient un triangle (par opposition aux tétraèdres), un maillage 4D peut contenir des formes 2D comme un triangle.
Mikael Öhman
@Mikael, juste à cause de l'exercice mental de la question, il serait plus intéressant d'utiliser une généralisation 4D d'un triangle 2D, 'la rotation d'un tel objet a l'air génial. Cependant, vous avez raison, on pourrait utiliser un simple triangle dans l'espace 4D.
Maik Semder
Merci pour une réponse très complète. En fait, ce qui était le plus fascinant était le grand nombre de jeux / projets en place depuis le début des années 90.
bitcruncher