Proyectar hacia abajo una malla 4D imaginaria a la pantalla

11

Como ejercicio mental, estoy tratando de imaginar proyectar una malla 4D arbitraria en la pantalla (2D).

Supongo que un solo triángulo 4D todavía constaría de solo 3 puntos, sin embargo, cada uno de esos 3 puntos estaría definido por una columna con 4 dimensiones.

¿Tendría más sentido definir una matriz de proyección para mapear primero el espacio 4D al espacio 3D y luego hacer que OpenGL haga su propia proyección de esos datos al espacio 2D?

¿O sería mejor planear proyectar de 4 a 2 directamente?

Muchas gracias.

bitcruncher
fuente
Interesante, ¿hay algún contexto de desarrollo de juegos?
AttackingHobo
es solo exploratorio por ahora, pero finalmente, sí.
bitcruncher
Hasta que agregue algún tipo de contexto de desarrollo de juegos, voy a votar para cerrar por estar fuera de tema.
AttackingHobo
Como nota al margen, las coordenadas homogéneas que manejan las API de gráficos son un tipo especial de espacio 4D, en el que todos los puntos en una línea a través del origen se consideran el mismo punto en 3D. Es decir, <kx, ky, kz, k> es el mismo punto <x, y, z> para todos los k.
Lars Viklund
4 ejes de rotación? ¿Estás bromeando, verdad?
subb

Respuestas:

7

La generalización multidimensional de un triángulo es un N-Simplex , aquí hay un video de una proyección de dicho objeto. Aquí hay otro video interesante de un hipercubo 4D.

Esta página wiki es un buen punto de partida si desea obtener más información sobre la cuarta dimensión y cómo visualizar dichos objetos. También vincula una página wiki con una lista de juegos 4D .

Con respecto a su pregunta sobre la proyección: este artículo explica las matemáticas de las matrices de proyección ortográfica y de perspectiva para dimensiones superiores. Otro gran artículo es la visualización en cuatro espacios de objetos 4D por Steven Richard Hollasch. En particular, el párrafo "4.1: Descripción general de alto nivel de proyección 4D a 2D" responde a su pregunta de proyección en detalle y viene con el código fuente.

Finalmente, aquí hay un renderizador N-dimensional usando OpenGL que viene con el código fuente completo.

Maik Semder
fuente
No estoy seguro de por qué tratarías un triángulo así. Así como una malla 3D contiene un triángulo (a diferencia de los tetraedros), una malla 4D puede contener formas 2D como un triángulo.
Mikael Öhman
@Mikael, solo por el ejercicio mental de la pregunta, sería más interesante usar una generalización 4D de un triángulo 2D, 'la rotación de tal objeto se ve increíble. Sin embargo, tiene razón, uno podría usar un triángulo simple en el espacio 4D.
Maik Semder
Gracias por una respuesta muy completa. En realidad, lo más fascinante fue la gran cantidad de juegos / proyectos implementados desde principios de los 90.
bitcruncher