★ CODING ★ LISTINGS ★ 3D LAÜFER ★ |
Graphic - 3D - Laufer (CPC Amstrad International) | Coding Listings |
Bernd Markau studiert seit zwei Jahren im Studiengang "Grafik-Design" an der Hochschule der Künste in Berlin Seit zwei Semestern belegte er auch einen Kurs mit dem Thema "Animationsfilm/Computergrafik". Für diesen Kurs hat er das folgende Programm geschrieben. Es wurde versucht, eine dreidimensionale Figur als Drahtmodell zu entwerfen und diese Figur zum Laufen zu bringen. Das Prinzip der Beweglichkeit jedes Körperteils beruht auf der Abhängigkeit der Eckpunkte der Figur voneinander und der Definition der Eckpunkte als Winkelfunktionen, deren Winkel variabel sind. Da die Bewegung nicht in Realzeit auf dem Computer abläuft, wurde jede Phase der Bewegung mit einer Filmkamera per Einzelbildaufnahme aufgezeichnet, so daß als Ergebnis eine ziemlich natürliche Laufbewegung erreicht wurde. Das Programm ist so gestaltet, daß man auch leicht neue Bewegungsabläufe eingeben kann. Im Datablock ab Zeile 7000 werden jeweils die nötigen Daten für die einzelnen Hauptphasen eingegeben. Für jede Hauptphase werden drei Datazeilen benötigt. In die erste Zeile wird die Anzahl der Zwischenphasen eingegeben, die man für die Filmaufnahmen braucht, die Winkeldaten für diese Zwischenphasen werden vom Programm selbständig errechnet; so kann man den Rhythmus und die Geschwindigkeit der Bewegung steuern. Die zweite Zahl in der Zeile ist ein Wert für den Positionsausgleich der Figur, die ganze Figur wird der Laufbewegung entsprechend abwechselnd ein kleines Stück nach oben oder unten verschoben. In der nächsten Zeile stehen die a-Winkeldaten der einzelnen Körperteile (siehe READ-Befehl ab Zeilennummer 370). Die a-Winkel sind die Winkel der Seitenansicht der Figur. In der letzten Zeile dieser Hauptphase stehen die b-Winkel, die Winkel der Vorderansicht der Figur. Die Laufbahn der Figur wird ab Zeile 5000 definiert und kann durch neue Funktionen variiert werden. Dann kann noch der Fluchtpunkt verschoben werden (Zeile 200 - 250). ab 200 - Positionierung Fluchtpunkt/Figur, Größe, Drehung: Hier werden die Einstiegswerte angegeben: ALPHA, BETA und GAMMA beschreiben die Drehungsposition der Figur.
AB und E geben die Größe der Figur an. ab 270 - Dimensionierung der Phasen (PH): In PH ist die Anzahl der Hauptphasen des Bewegungsablaufes enthalten. Hier wird der erste Datenblock (Zeile 7000 - 7170) gespeichert. Er enthält die Daten der Hauptphasen (siehe READ-Befehl): AZWISTEP: VZ: Position der Figur an. KOPFa: KOPFb: ab 450 - Verbindung der Eckpunkte (WA 85):Hier wird der zweite Datenblock (ab Zeile 8000) gespeichert. Er enthält die Daten für die spätere Grafikdarstellung. ab 1000 - Definition der Eckpunkte der Figur:Jetzt werden die Eckpunkte X, Y, Z definiert und gespeichert. Das Prinzip der Beweglichkeit jedes Körperteils beruht auf der Abhängigkeit der Eckpunkte voneinander und der Definition der Eckpunkte als Winkelfunktionen. A enthält die Anzahl der Eckpunkte. ab 3000 - Perspektivenberechnung (WA 85):Die 3D-Koordinaten X, Y, Z werden in 2D-Koordinaten BX, BY umgerechnet. ab 3100 - Verbindung der Eckpunkte der Figur (WA 85):Programmteil für die Grafikausgabe. Die in Zeile 480 dimensionierten Werte (Eckpunkte) werden durch Linien verbunden.
|