Proiezione sullo schermo di una mesh 4D immaginaria


11

Come esercizio mentale, sto cercando di immaginare di proiettare una maglia 4D arbitraria sullo schermo (2D).

Immagino che un singolo triangolo 4D consisterebbe ancora di soli 3 punti, tuttavia ciascuno di quei 3 punti sarebbe definito da una colonna con 4 dimensioni.

Avrebbe più senso definire una matrice di proiezione per mappare prima lo spazio 4D sullo spazio 3D e poi fare in modo che OpenGL esegua la propria proiezione da quei dati allo spazio 2D?

O sarebbe meglio pianificare semplicemente di proiettare direttamente da 4 a 2?

Grazie molto.


Interessante, c'è qualche contesto di sviluppo del gioco?
Attaccando

è solo esplorativo per ora, ma alla fine sì.
Bitcruncher

Fino a quando non aggiungi una sorta di contesto di sviluppo del gioco, ho intenzione di votare per chiudere per essere fuori tema.
Attaccando

Come nota a margine, le coordinate omogenee che trattano le API grafiche sono un tipo speciale di spazio 4D, in cui tutti i punti su una linea attraverso l'origine sono considerati lo stesso punto in 3D. Cioè, <kx, ky, kz, k> è lo stesso punto <x, y, z> per tutto k.
Lars Viklund,

4 assi di rotazione? Stai scherzando, vero?
subb

Risposte:


7

La generalizzazione multidimensionale di un triangolo è un N-Simplex , ecco un video di una proiezione di un tale oggetto. Ecco un altro video interessante di un ipercubo 4D.

Questa pagina wiki è un buon punto di partenza se vuoi saperne di più sulla quarta dimensione e su come visualizzare tali oggetti. Collega anche una pagina wiki con un elenco di giochi 4D .

Per quanto riguarda la tua domanda sulla proiezione: questo articolo spiega la matematica delle matrici di proiezione ortografica e prospettica per dimensioni superiori. Un altro grande documento è la visualizzazione a quattro spazi di oggetti 4D di Steven Richard Hollasch. In particolare il paragrafo "4.1: Panoramica di alto livello della proiezione da 4D a 2D" risponde dettagliatamente alla domanda di proiezione e viene fornito con il codice sorgente.

Finalmente ecco un renderer N-dimensionale che utilizza OpenGL con codice sorgente completo.


Non sono sicuro del motivo per cui tratteresti un triangolo del genere. Proprio come una mesh 3D contiene un triangolo (al contrario dei tetraedri), una mesh 4D può contenere forme 2D come un triangolo.
Mikael Öhman,

@Mikael, proprio a causa dell'esercizio mentale della domanda, sarebbe più interessante usare una generalizzazione 4D di un triangolo 2D, 'la rotazione di un tale oggetto sembra fantastica. Tuttavia, hai ragione, si potrebbe usare un triangolo semplice nello spazio 4D.
Maik Semder,

Grazie per una risposta molto approfondita. In realtà, ciò che è stato più affascinante è stato il semplice numero di giochi / progetti in atto dai primi anni '90.
Bitcruncher
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.