Mit diesem Programmpaket können Sie auf Ihrem JOYCE dreidimensionale Objekte entwerfen, sie in beliebiger Lage, Vergrößerung, Perspektive usw. zeichnen und schließlich Ihre Werke auch noch ausdrucken ... von Rainer Teßmann
|
|||
3D-Grafik für den JOYCE |
|||
Gleich zu Anfang ein wichtiger Hinweis: Das Programm liegt in zwei Versionen vor. Die erste ist hier abgedruckt und versorgt diejenigen Leser, die nur über die Bildschirm- und Druckertreiber DDSCREEN und DDfXHR8 auf der Systemdiskette S.3 verfügen. Das Programm heißt '3DZEICHJ', wobei das 'J' für JOYCE steht, und arbeitet mit der Routine 'Input-Locater' aus der GSX-Serie von Matthias Uphoff. Besitzern von Bildschirm- und Druckertreibern aus kommerziellen Paketen wie z.B. DR DRAW oder DR GRAPH steht auf der DATABOX zur CPC Amstrad International Mai 1988 die Version '3DZEICH' (ohne 'J') zur Verfügung, die sich der erweiterten Treiber bedient. Bevor ich mit der Programmbeschreibung beginne, kurz noch etwas zu seiner Geschichte. Eigentlich hatte ich vor, einen kleinen Computeranimationsfilm zu drehen. Um Objekte über den Bildschirm zu bewegen, müssen sie aber erst einmal erstellt werden. An den 3D-Programmen anderer Computer störte mich die unbequeme Art der Editierung. Dort mußten die Daten eines Körpers punktweise eingegeben werden, ohne daß man ihn dabei zu Gesicht bekam. Also schrieb ich einen Editor, mit dem Objekte direkt am Bildschirm entworfen werden können. Um zu sehen, wie ein Körper in verschiedenen Positionen, Vergrößerungen usw. aussieht, schrieb ich dazu auch noch ein Zeichenmodul.
Verwenden Sie für die drei Dateien diejenige Diskette, auf der Sie später auch die Daten Ihrer selbsterstellten Flächen und Objekte speichern (Datendiskette). Die StartdisketteKopieren Sie die Programme 3DZEICH, FLERST,FLZEICH und FLDRUCK auf Diskette. Um Zeit bei der Einbindung von Programmteilen zu ersparen und Fehler durch versehentlichen Diskettenwechsel zu vermeiden, arbeiten alle Programme ausschließlich auf der RAM-Disk! (Keine Angst, Sie haben die Möglichkeit, Ihre Daten auch auf Diskette zu speichern). Es empfiehlt sich daher, eine Startdiskette zusammenzustellen, um die Programme in die RAM-Disk zu transportieren und von dort aus zu starten. Die Startdiskette sollte folgende Dateien enthalten:
Damit BASIC mit GSX zusammenarbeiten kann, müssen Sie es erst mit GENGRAF "behandeln".
pip < m: = basic.com[o] < m: = 3dzeich.bas[o] < m: = flerst.bas[o] < m: = flzeich.bas[ol] < m: = fldruck.bas[o] < m: = ddscreen.prl[o] < m: = ddfxhr8.prl[o] < m: = assign. sys[o] < m: = gsx.sys[o] < m: basic 3dzeich
Es geht los!Wenn Sie alles richtig gemacht haben, brauchen Sie nur Ihren Computer einzuschalten und die Startdiskette einzulegen. Alle benötigten Dateien werden dann in die RAM-Disk geladen und 3DZEICH wird gestartet. Nach dem Start des Programms können Sie die Startdiskette aus dem Laufwerk nehmen. Sie wird nicht mehr benötigt. Legen Sie statt dessen Ihre Datendiskette, auf der Sie die Daten der Objekte und Ihre Druckdateien speichern wollen, ins Laufwerk. |
Das Hauptprogramm:Vorab eine kurze Bemerkung zu Eingaben, die Sie über die Tastatur machen. Optionen können Sie einfach per Tastendruck (egal ob Groß- oder Kleinbuchstabe) wählen. Einzige Ausnahme, bei der Sie [RETURN] drücken müssen, sind Zahleneingaben und Dateinamen. 3DZEICH fragt zuerst nach einer Kennung für die Druckfiles. Diese Kennung, ein Buchstabe, dient der Unterscheidung Ihrer Druckdateien. Sie müssen sie nur dann eingeben, wenn Sie schon Druckdateien gespeichert haben. Als nächstes können Sie zwischen normalem Bildschirmformat und "DIN A4"-Bildschirmformat wählen (Eingabe "n" oder "d"). Im DIN A4-Modus sehen Sie die Objekte auf dem Bildschirm so, wie sie später auch auf dem Drucker erscheinen (wollen Sie Grafiken erstellen und ausdrucken, so wählen Sie dieses Format). Haben Sie sich für ein Bildschirmformat entschieden, so erscheint nach kurzer Zeit das Hauptmenü mit folgender Auswahl:
[S] Flächensatz speichern [A] Fläche auswählen [EXIT]-Taste Zuerst zum Zeichnen ...Damit die Anleitung nicht gleich zu abstrakt wird und Sie bald etwas zu sehen bekommen, wenden wir uns zunächst dem Zeichenmodul zu. Laden Sie dazu die Datei "STUHL" in den Arbeitsspeicher (Option [L]) und wählen Sie dann "Flächen zeichnen" (Option [Z]). Nach kurzer Zeit erscheint dann das Zeichenmenü und bietet Ihnen folgende Möglichkeiten zur Auswahl an: [Z] Zeichnen [V] Verschieben [P] Parametermenü [L] Bildschirm löschen [D] Druckfile anlegen [EXIT]-Taste Zurück zum Hauptmenü Ein Leckerbissen des Zeichenmoduls ist seine integrierte "CLIP-Funktion". Sie verhindert das Zeichnen über den Bildschirmrand hinaus, das heißt, es wird nur der Teil eines Objektes dargestellt, der sich innerhalb des Bildschirmausschnittes befindet. Ohne diese Funktion bekämen Sie beim Versuch, über den Bildschirmrand hinauszuzeichnen, einen Integer overflow. Am besten, Sie sehen selber, was die "CLIP-Funktion" bewirkt. Zeichnen Sie den Stuhl ein paarmal (Option [Z]), und schieben Sie ihn wohin Sie wollen (Option [V]). Etwas Geduld müssen Sie allerdings haben. Bei den fast 60 Punkten des Stuhles dauert es ein paar Sekunden, bis er auf dem Bildschirm erscheint. Wenn Sie vom Verschieben genug haben, sehen Sie sich einmal das Parametermenü an (Option [P]). Es bietet ihnen weitere Möglichkeiten: [Z] Zeichenparameter 1. Darstellungsart: 2. Füllart:
3. Muster: Haben Sie bei "Füllart" die "3" gewählt, so stehen Ihnen hier sechs verschiedene Füllmuster zur Verfügung:
4. Schreibmodus:
[D] Drehen [M] Maßstab [A] Abstand ACHTUNG: Wenn Sie eine Entfernung größer 0 eingeben, so wählen Sie diese nicht zu klein, sonst kann es passieren, daß Sie sich quasi "im Objekt" befinden. Das Objekt wird dann total verzerrt. Fangen Sie am besten mit großen Entfernungen (ca. 40.000) an und werden Sie dann kleiner. [V] Verschieben [P] Parameter zeigen [EXIT]-Taste Zurück zum Zeichenmenü Objekt aus mehreren Flächen zusammenzusetzen, erfordert mehr (Programm-) Speicheraufwand und seine Darstellung benötigt wesentlich mehr Zeit. Da das Programm zur Zeit schon an der Grenze des (Speicherplatz-) Möglichen arbeitet, und der JOYCE nicht gerade zu den schnellsten Computern zählt, habe ich vorerst auf diese Möglichkeit verzichtet. Noch etwas zur Eingabe der Zahlenwerte im Parametermenü. Um eine "redo from start"-Meldung durch Tippfehler zu vermeiden, habe ich die Funktion für die Eingabe von Real-Zahlen neu geschrieben (Zeilen 18210-18380 des Hauptprogramms). Allerdings können Sie nicht mehr wie beim "Input"-Kommando korrigieren, sondern müssen bei Fehlern nochmal eingeben (Option nochmal wählen). |
... dann zum Erstellen von Flächen und ObjektenWir kommen nun zum Modul "Flächen erstellen". Gehen Sie dazu am besten aus dem ganzen Programm (nicht aus BASIC!) raus und starten Sie es mit load "3dzeich",r Diese Form des Neustarts ist nötig, da 3DZEICH beim "chainen" seinen Initialisierungsteil löscht, um Speicherplatz zu schaffen. Im Speicher befinden sich nach dem Neustart keine Punkte mehr, die Sie stören könnten. Wählen Sie zum Erstellen von Flächen bitte den normalen Bildschirmmodus ("N"). Nachdem Sie Option [E] gewählt haben, meldet sich nach kurzer Zeit das Modul "Flächen erstellen" mit der Eingabe der Zeichenparameter ihrer Fläche. Haben Sie diese Werte eingegeben, befinden Sie sich im eigentlichen Erstellungsmodus. In der Kopfzeile erscheint die Nummer der aktuellen Fläche ("Fläche"), die Nummer des aktuellen Punktes ("Punkt"), die Anzahl der Punkte insgesamt (in eckigen Klammern) sowie die X/Y/Z-Koordinaten des aktuellen Punktes. Der Fadenkreuzcursor erscheint in der Mitte des Bildschirms. Bevor Sie mit dem Erstellen beginnen, noch einige Bemerkungen zur Organisation der Punkte. Ein Punkt im dreidimensionalen Raum läßt sich durch drei Koordinaten (Werte) festlegen: seine Position in der Horizontalen (X-Achse), der Vertikalen (Y-Achse) und in der "Tiefe" (Z-Achse). Flächen und Objekte werden durch ihre Eckpunkte definiert, die hier der Reihe nach durch eine Linie verbunden werden. Ein Objekt wird also an einem Stück gezeichnet und muß auch so erstellt werden. Die Nummer eines Punktes wird im Feld flaeche% (Flächennummer,Zähler) gespeichert (Flächenpunkt), seine Koordinaten (Werte) in den Feldern xw% (Zähler), yw%(Zähler) und zw% (Zähler) (Wertespeicher). Die Nummer eines Punktes dient hier als "Zeiger" und gibt die Position seiner Koordinaten im Wertespeicher (Felder xw%,yw%,zw%) an. Wenn Sie für ihre Fläche einen Punkt benötigen, dessen Koordinaten schon gespeichert sind, so brauchen Sie lediglich seine Nummer anzuwählen. Sie haben also die Möglichkeit, die Koordinaten eines Punktes mehrmals zu "benutzen". Daher kann die Anzahl der Flächenpunkte u.U. erheblich größer gewählt werden als der Wertespeicher. Wie beim Zeichenmodul, so habe ich auch hier eine Eingabeprozedur neu geschrieben (Zeilen 18000-18190 des Hauptprogramms). Da im Erstellungsmodus ausschließlich mit Integerwerten gearbeitet wird, handelt es sich um die Integereingabe. Allerdings haben Sie hier die Möglichkeit, Ihre Eingabe zu korrigieren (DEL-Taste). Bei unzulässigen Eingabewerten meldet sich die Eingabeprozedur nochmal. Nun zu den Möglichkeiten, die Ihnen im Erstellungsmodus zur Verfügung stehen:
[f5]-Taste Z-Wert eingeben [f7]-Taste Punktemenü [S] Punkt sehen [W] Punkt wählen [X] Nur X-Wert [Y] Nur Y-Wert [Z] Ohne Z-Wert [E] Werte eingeben [EXIT]-Taste [EXIT] -Taste Erstellen beenden Insgesamt stehen Ihnen 10 Flächen mit je 60 Flächenpunkten zur Verfügung. Die maximale Anzahl der Punktwerte beträgt 400. Diese Einstellung können Sie bei Bedarf natürlich ändern. Beachten Sie dabei, daß für jede Fläche eine Anzahl von Parametern gespeichert werden müssen. Wenn Sie die Anzahl der Flächenpunkte erhöhen, so müssen Sie u.U. auch die Felder pi% (Zähler) vergrößern, durch die die Punkte an GSX übergeben werden. Als grobes Maß gilt: ((Anzahl pi%)/2)+40 = Anzahl flaeche% (Flächenzähler, ZÄHLER). Die "40" dient als Sicherheitsreserve, da beim Zeichnen über den Bildschirm hinaus Punkte hinzugefügt werden (!). Am besten fangen Sie beim Erstellen mit einfachen Flächen an (z.B. Viereck, Dreieck usw.), bevor Sie sich an komplizierte Objekte wagen. Gewöhnen Sie sich erst einmal an die Art und Weise der Eingabe und beachten Sie, daß Sie alle Objekte an einem Stück erstellen müssen. Zu guter Letzt: Das DruckprogrammVorab einige wichtige Informationen zum Programmwechsel. BASIC erhält die Information, mit welchem Treiber (bzw. Treibern) es zusammenarbeiten soll, aus der Datei ASSIGN.SYS. Beim Start von BASIC wird der in ASSIGN.SYS benannte Treiber dann an BASIC angehängt. Daher muß die Information über den Treiber vor dem Start von BASIC in der Datei stehen. Damit das Druckprogramm den Druckertreiber und das Zeichenprogramm den Bildschirmtreiber zugewiesen bekommt, gehe ich so vor: Auf der Startdiskette steht in ASSIGN.SYS "DDSCREEN". BASIC wird jetzt zusammen mit dem Bildschirmtreiber geladen. 3DZEICH schreibt sofort nach seinem Start "DDFXHR8" in die Datei ASSIGN.SYS (auf der Ram-Disk). Beim nächsten Start von BASIC wird nun der Druckertreiber angehängt. Solange Sie allerdings BASIC nicht verlassen, bleibt der Treiber erhalten (Sie können also 3DZEICH innerhalb von BASIC beliebig oft neu starten). Wenn Sie Ihre Druckfiles nach dem Zeichnen ausdrucken wollen, so müssen Sie BASIC unbedingt ganz verlassen (Befehl "SYSTEM") und das Druckprogramm mit: basic fdruck laden. BASIC wird nun mit dem Druckertreiber verbunden, FLDRUCK wird geladen und gestartet. FLDRUCK wiederum schreibt "DDSCREEN" in die Datei ASSIGN. SYS, womit beim nächsten Start von BASIC wieder der Bildschirmtreiber angehängt wird. Wollen Sie nach dem Drucken weiterzeichnen, so verlassen Sie BASIC wieder und starten Sie das Zeichenprogramm mit: basic dzeich Halten Sie sich unbedingt an diese Form, sonst droht Ihnen u.U. ein Programmabsturz! Doch nun zum Druckprogramm. Nach dem Start meldet es sich mit einer Menüzeile, die Ihnen folgende Möglichkeiten anbietet: [L] Laufwerk ändern [I] Inhaltsverzeichnis zeigen [W] Kennung wählen [D] Drucken Zuerst wird nach dem ersten Druckfile (l + Kennung.PRN) auf der aktuellen Diskette gesucht. Ist es vorhanden, so werden Sie aufgefordert, Papier in den Drucker zu legen. Sie haben die Wahl, zu drucken (Option [D]) oder ins Hauptprogramm zurückzukehren ([EXIT]-Taste). Bei [D] wird Ihr Bild ausgedruckt. Das Druckprogramm lädt die Druckfiles ihrer Reihenfolge nach ( 1.PRN, 2.PRN, 3.PRN ... usw.) in den Speicher. Der Ladevorgang wird beendet, wenn das nächste Druckfile ((zähler+1).PRN) nicht gefunden wird. [EXIT]-Taste Gehen Sie am besten so vor, daß Sie sich zuerst das Inhaltsverzeichnis der gewünschten Diskette ausgeben lassen (Option [1]), dann evtl. Ihre Wahl treffen (Option [W]) und danach drucken (Option [D]). Es geht auch ohne ... Das Ausfüllen von Flächen auf dem Bildschirm erreichen Sie zwar nicht, beim Drucken werden aber alle Flächen säuberlich ausgefüllt. Dazu ist auch Ihr normaler JOYCE-Druckertreiber in der Lage. Und nun wünsche ich Ihnen viel Spaß mit 3DZEICH. Rainer Teßmann aus: PCW Amstrad Intrenational; Heft 5/1988; DMV Verlag, Eschwege; Seite 80 ff |