Downprojizieren eines imaginären 4D-Netzes auf den Bildschirm


11

Als mentale Übung versuche ich mir vorzustellen, ein beliebiges 4D-Netz auf den Bildschirm zu projizieren (2D).

Ich vermute, ein einzelnes 4D-Dreieck würde immer noch aus nur 3 Punkten bestehen, jedoch würde jeder dieser 3 Punkte durch eine Spalte mit 4 Dimensionen definiert.

Wäre es sinnvoller, zuerst eine Projektionsmatrix zu definieren, um den 4D-Raum dem 3D-Raum zuzuordnen, und dann OpenGL eine eigene Projektion von diesen Daten in den 2D-Raum durchführen zu lassen?

Oder ist es am besten, einfach direkt von 4 auf 2 zu projizieren?

Danke vielmals.


Interessant, gibt es einen Spielentwicklungskontext?
— AttackingHobo

Es ist vorerst nur explorativ, aber letztendlich ja.
— Bitcruncher

Bis Sie eine Art Spielentwicklungskontext hinzufügen, werde ich dafür stimmen, dass das Thema nicht zum Thema gehört.
— AttackingHobo

Nebenbei bemerkt, die homogenen Koordinaten , mit denen sich Grafik-APIs befassen, sind eine spezielle Art von 4D-Raum, in dem alle Punkte auf einer Linie durch den Ursprung in 3D als der gleiche Punkt betrachtet werden. Das heißt, <kx, ky, kz, k> ist der gleiche Punkt <x, y, z> für alle k.
— Lars Viklund

4 Drehachsen? Du machst Witze oder?
— Subb

Antworten:


7

Die mehrdimensionale Verallgemeinerung eines Dreiecks ist ein N-Simplex . Hier ist ein Video einer Projektion eines solchen Objekts. Hier ist ein weiteres interessantes Video eines 4D-Hyperwürfels.

Diese Wiki- Seite ist ein guter Ausgangspunkt, wenn Sie mehr über die vierte Dimension und die Visualisierung solcher Objekte erfahren möchten. Es verknüpft auch eine Wiki-Seite mit einer Liste von 4D-Spielen .

Zu Ihrer Frage zur Projektion: In diesem Artikel wird die Mathematik von orthografischen und perspektivischen Projektionsmatrizen für höhere Dimensionen erläutert. Ein weiteres großartiges Papier ist die Vier-Raum-Visualisierung von 4D-Objekten von Steven Richard Hollasch. Insbesondere der Abschnitt "4.1: Überblick über die 4D-zu-2D-Projektion auf hoher Ebene" beantwortet Ihre Projektionsfrage ausführlich und enthält den Quellcode.

Schließlich ist hier ein N-dimensionaler Renderer mit OpenGL, der mit vollständigem Quellcode geliefert wird.


Ich bin mir nicht sicher, warum Sie ein Dreieck so behandeln würden. So wie ein 3D-Netz ein Dreieck enthält (im Gegensatz zu Tetraedern), kann ein 4D-Netz 2D-Formen wie ein Dreieck enthalten.
— Mikael Öhman

@Mikael, nur wegen der mentalen Übung der Frage wäre es interessanter, eine 4D-Verallgemeinerung eines 2D-Dreiecks zu verwenden. 'Die Rotation eines solchen Objekts sieht fantastisch aus. Sie haben jedoch Recht, man könnte ein einfaches Dreieck im 4D-Raum verwenden.
— Maik Semder

Vielen Dank für eine sehr gründliche Antwort. Am faszinierendsten war die schiere Anzahl an Spielen / Projekten seit Anfang der 90er Jahre.
— Bitcruncher
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.