Aus Das deutschsprachige Scratch-Wiki

Dieses Tutorial ist aufgrund seiner Schwierigkeit für erfahrene Scratcher vorgesehen.

Baustelle.png Dieser Artikel ist noch nicht fertig. Bitte nimm keine Änderungen vor, bis der Autor diesen Hinweis entfernt.


Was ist eine dreidimensionale Umgebung?

Eine 3D-Umgebung ist ein Ort, an dem die gemeinsamen X- und Y-Achsen sowie die zusätzliche Z-Achse beteiligt sind. Die Z-Achse ist eine kartesische Koordinate, ähnlich wie die X- und Y-Achse, aber die Z-Achse ist normalerweise die Tiefenachse. In der Praxis existiert die Z-Achse, in Scratch jedoch nicht. Wir können Größe und Bewegung einbeziehen, die eine Illusion von Tiefe hervorrufen.

Dreidimensionale Grafikanleitung

Die Illusion von 3D auf einer flachen Oberfläche wie einem Computerbildschirm wird durch Projizieren eines dreidimensionalen Punkts auf eine zweidimensionale Oberfläche erreicht.

Dreidimensionale Objekte können mit MatrixTransformationen manipuliert werden.

Das Modell verfügt auch über eine "Transformation", die aus Translation, Rotation und Skalierung besteht. Transformationen sind eine Möglichkeit, die Bewegung von Formen zu beschreiben.

Um 3D zu implementieren, muss zunächst die Position der Scheitelpunkte des Modells in der Karte ("Weltraum") berechnet werden. Dann muss der Programmierer die Positionen der Weltraumkoordinaten relativ zum Betrachter bestimmen, indem er das Gegenteil der Transformation der Kamera auf die Punkte anwendet. Punkte, die sich nicht im Sichtfeld der Kamera befinden ("Clipspace"), können entfallen. Zum Schluss werden die Clipspace-Koordinaten auf den Bildschirm projiziert.

Vorbereitung

Zuerst müssen diese Variablen erstellt werden:

(alt x)
(alt y)
(alt z)
(neu x)
(neu y)
(neu z)
Größe ::variables
(x Transformation)
(y Transformation)
(z Transformation)
(Winkel)
(2D x)
(2D y)
(3D x)
(3D y)
(3D z)
(Brennweite)
(x)
(y)
(z)
(Skalierungsfaktor)
(Rollen)
(temp)
(Übersetzung x)
(Übersetzung y)
(Übersetzung z)
(Kamera x)
(Kamera y)
(Kamera z)
(Kamera rollen)
(Kamerawinkel)
(Kameragier)

Die Scheitelpunkte der Modelle können in einer Liste gespeichert werden.

Daten Präsentation

Ein Modell braucht eine Daten Präsentation. Ein Modell besteht aus einem Array von Scheitelpunkten und einem Array von Flächen. Jeder Scheitelpunkt hat eine x-, eine y- und eine z-Komponente. Jede Fläche ist ein Array von Scheitelpunktindizes.

Transformationen

Hier ist der Code für die Transformationen:

Skalierung

Die Skalierung des Objekts

Cookies helfen uns bei der Bereitstellung von Das deutschsprachige Scratch-Wiki. Durch die Nutzung von Das deutschsprachige Scratch-Wiki erklärst du dich damit einverstanden, dass wir Cookies speichern.