Aus Das deutschsprachige Scratch-Wiki
Dieses Tutorial ist aufgrund seiner Schwierigkeit für erfahrene Scratcher vorgesehen.
![]() |
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