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.


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.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.