CODINGLISTINGS ★ 3D LAÜFER ★

Graphic - 3D - Laufer (CPC Amstrad International)Coding Listings
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

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.

  • VX,VY und VZ geben die lokale Position (3D) der Figur an:
  • VX: horizontale Verschiebung
  • VY: Verschiebung vorne/hinten
  • VZ: vertikale Verschiebung

AB und E geben die Größe der Figur an.
Mit ORIGIN kann der Fluchtpunkt verschoben werden, der bei ORIGIN 0,0 in der Bildmitte liegt. Da die Figurdurch ORIGIN mitverschoben wird, müssen die VX/VY-
Werte so geändert werden, daß die Figur ihre alte Position wieder einnimmt und nur der Fluchtpunkt verschobenbleibt.

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:
Anzahl der Zwischenphasen. Man kann beliebig viele Phasen zwischen den Hauptphasen erhalten, die entsprechenden Winkeldaten werden vom Programm (ab Zeile 4000) errechnet. Dadurch kann man den Rhythmus und die Geschwindigkeit der Bewegung festlegen.

VZ:
Höhenregler. Er gibt die Verschiebung der vertikalen

Position der Figur an.

KOPFa:
Ab hier sind die a-Winkel für die Haltung jedes einzelnen Körperteils enthalten. Die a-Winkel sind die Winkel der Körperteile, die sich bei einer seitlichen Ansicht der Figur ergeben.

KOPFb:
Ab hier sind die b-Winkel der Körperteile enthalten. Die b-Winkel sind die Winkel der Körperteile, die sich bei einer frontalen Ansicht der Figur ergeben.

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.
AD enthält die Anzahl der Datenzeilen des Datenblocks. Der erste Wert in jeder Datenzeile gibt die Anzahl der folgenden Werte in der Datazeile an. Diese folgenden Werte sind die Eckpunkte der Figur, die in der Reihenfolge ihres Auftretens durch Linienzüge verbunden werden.

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.

CPCAI 8605

★ YEAR: 1986
★ AUTOREN: Bernd Markau (Animationsprogramm) ; F. Wagenknecht (3D-Basisprogramm)
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Files:
» 3D-LauferDATE: 2012-12-27
DL: 312
TYPE: ZIP
SiZE: 8Ko
NOTE: 40 Cyls
.HFE: Χ

» 3D-Laufer    GERMANDATE: 2012-12-17
DL: 176
TYPE: image
SiZE: 123Ko
NOTE:

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding Src's » 3D Cone (Amstrad Computer User)
» Coding Src's » Musithèque (Amstrad Magazine 12)
» Coding Src's » 3D Shadows
» Coding Src's » Raytracing (Devilmarkus)
» Coding Src's » Patterns Mk II
» Coding Src's » Mona Lisa (Sizin Amstrad)
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 805 millisecondes et consultée 1511 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.