Przesunięcie w dół wyimaginowanej siatki 4D na ekran

11

Jako ćwiczenie mentalne próbuję wyobrazić sobie rzutowanie dowolnej siatki 4D na ekran (2D).

Zgaduję, że pojedynczy trójkąt 4D nadal składałby się tylko z 3 punktów, jednak każdy z tych 3 punktów byłby zdefiniowany przez kolumnę o 4 wymiarach.

Czy bardziej sensowne byłoby zdefiniowanie macierzy projekcji do mapowania przestrzeni 4D na przestrzeń 3D, a następnie zlecenie OpenGL wykonania własnych danych z tych danych na przestrzeń 2D?

A może najlepiej byłoby po prostu bezpośrednio rzutować z 4 na 2?

Wielkie dzięki.

Bitcruncher
źródło
Ciekawe, czy jest jakiś kontekst rozwoju gry?
AttackingHobo
na razie jest to tylko eksploracja, ale ostatecznie tak.
bitcruncher,
Dopóki nie dodasz jakiegoś kontekstu tworzenia gier, będę głosować za zamknięciem za to, że jestem poza tematem.
AttackingHobo
Na marginesie, homogeniczne współrzędne, którymi zajmują się interfejsy API grafiki, są specjalnym rodzajem przestrzeni 4D, w której wszystkie punkty na linii przechodzącej przez początek są traktowane w 3D jako ten sam punkt. To znaczy, <kx, ky, kz, k> to ten sam punkt <x, y, z> dla wszystkich k.
Lars Viklund,
4 osie obrotu? Żartujesz, prawda?
podprz.

Odpowiedzi:

7

Wielowymiarowe uogólnienie trójkąta to N-Simplex , oto wideo z projekcji takiego obiektu. Oto kolejne interesujące wideo hipersześcianu 4D.

Ta strona wiki jest dobrym punktem wyjścia, jeśli chcesz dowiedzieć się więcej o czwartym wymiarze i jak wizualizować takie obiekty. Łączy także stronę wiki z listą gier 4D .

W odniesieniu do pytania dotyczącego projekcji: w tym artykule wyjaśniono matematykę ortograficznych i perspektywicznych matryc projekcyjnych dla wyższych wymiarów. Kolejnym świetnym referatem jest czteroprzestrzenna wizualizacja obiektów 4D autorstwa Stevena Richarda Hollascha. W szczególności akapit „4.1: Omówienie wysokiego poziomu projekcji 4D do 2D” szczegółowo odpowiada na twoje pytanie dotyczące projekcji i zawiera kod źródłowy.

Wreszcie tutaj jest renderer N-wymiarowej przy użyciu OpenGL przychodzi z pełnym kodem źródłowym.

Maik Semder
źródło
Nie jestem pewien, dlaczego traktowałbyś taki trójkąt. Tak jak siatka 3D zawiera trójkąt (w przeciwieństwie do czworościanów), siatka 4D może zawierać kształty 2D, takie jak trójkąt.
Mikael Öhman,
@Mikael, właśnie z powodu mentalnego ćwiczenia pytania, bardziej interesujące byłoby zastosowanie uogólnienia 4D trójkąta 2D, „obrót takiego obiektu wygląda niesamowicie. Jednak masz rację, można użyć prostego trójkąta w przestrzeni 4D.
Maik Semder,
Dzięki za bardzo dokładną odpowiedź. W rzeczywistości najbardziej fascynująca była sama liczba gier / projektów od początku lat 90.
bitcruncher,