Grafik-Dokumentation: Aktuelle und ausführliche Informationen über Grafik-Software unter UNIX erhalten Sie online mittels der Kommandos (x)hilfe (Menüpunkt Grafik) bzw. (x)gopher (im Eingang "Informationen zu UNIX/AIX") oder einfach durch Klicken der rechten bzw. linken Maustaste im freien Teil des Bildschirms und Anwählen der entsprechenden Knöpfe. Bei Programmen von IBM erhält man ausführliche Online-Dokumentation auf Hypertext-Basis durch den "InfoExplorer", Aufruf info oder Anwählen durch Klicken der rechten Maustaste im freien Teil des Bildschirms.
Programm-Dokumentation: Neben der Original-Dokumentation der Hersteller, die sich in der Regel in der Beratung, Zi. 001a, befindet, besitzt jedes Programm i.a. eine Online-Hilfe und teilweise auch Lernprogramme.
Name Kurzbeschreibung Info durch/in Grafikformatexwd Screen-Grabber, erzeugt spezielle Ausgabefile man xwud Ausgabe der speziellen Ausgabefile von xwd auf den man Display. xpr formatiert Ausgabefile von xwd in PostScript (ohne man Farbe), HP PaintJet, HP LaserJet. xgrab Screen-Grabber, erzeugt PostScript (mit/ohne F.) man Bitmap XPM und XPM2. import Screen-Grabber, erzeugt viele verschiedene man Ausgabeformate, siehe bei convert. xv Interpretiert die Grafikformate GIF, JPEG, TIFF, PBM, man PGM, PPM, X11 bitmap, RLE, PDS/VICAR, PS, Sun- Rasterfile, PM-Formate, sowohl die unkomprimierten als auch die komprimierten Formen. Die angegebenen Eingabe-Formate koennen ebenso bei der Ausgabe exportiert werden. Daneben kann xv auch als Screen-Grabber verwendet werden. convert Interpretiert und schreibt die Grafikformate AVS, EPS, man FAX, GIF, MIFF, MTV, PNM, PS, RLE, Sun Raster, VICAR, XBM, XWD; VICAR (Read only). gplot Interpretiert CGM (Binär, Text); Ausgabe auf X, PS. man ghostview Interpretiert Postscript (mit/ohne Farbe). man xloadimage, xsetbg Interpretiert verschiedene Image-Formate, z.B.: FBM man oder xview (Fuzzy Bitmap), GIF, MacPaint, PCX, RLE, XBM, XPM, XWD, PBM, PGM, PPM, Sun Raster. hp2xx Interpretiert HPGL Format auf X und gibt EPS, man Uniplex RGIP, Metafont-, emTex- und epicTex, IMG, PBM, PCX, HPCL und HPGL (vereinfacht) aus. PBMPLUS in Verschiedene Image-Formate werden in Portable /usr/local/ /usr/local/pbmplu Image-Formate: PBM, PGM, PPM und wieder umgekehrt pbmplus konvertiert. UtahRLE in Manipulation und Konvertierung verschiedener /usr/local/ /usr/local/urt Image-Formate in RLE-Format und umgekehrt. urt
Anwendungsbeispiel: xwd | xpr -device ljet | lpr -Ppcl (PCL-Ausgabe am QMS-Drucker) Nach der Eingabe dieses Kommandos wählt man das auszudruckende Fenster durch Mausklick an; xwd erzeugt dann einen speziellen Image-Dump des gewählten Fensters, das Programm xpr formatiert diesen Dump auf PCL-Format (momochrom), während mit dem Kommando lpr dann die entsprechende Ausgabe auf dem Drucker erstellt wird. Eine flexiblere Alternative zu xwd stellt das Programm xv dar. Der Benutzer muß davon ausgehen, daß eine Konvertierung im allgemeinen einen Informationsverlust in bezug auf das ursprüngliche Format darstellt.[1]
xi_button Anzeige und Auswahl aus mehreren Knöpfen
xi_fs Anzeige einer Verzeichnisstruktur mit Auswaehlen eines files
xi_list Anzeige und Auswahl einer verschiebbaren Liste von Texten
xi_message Anzeige einer kurzen Meldung
xi_option Anzeige und Auswahl von Texten mit Pull down Menue
xi_prompt Anzeige und Eingabe eines kurzen Textes
xi_text Anzeige mehrerer Textzeilen mit Editiermöglichkeit
Beispiel: vi=`xi_option -pr "File to edit" -l file1:file2:file3 -s :` Dieses Kommando kann z.B. innerhalb eines Shell-Scripts aufgerufen werden, um die Auswahl von Files für vi festzulegen. Das Trennsymbol zwischen den Auswahlmöglichkeiten (:) wird in diesem Beispiel durch den Parameter -s festgelegt.
Zur Erstellung von grafischen Oberflächen für komplexere Anwendungen steht das umfangreiche und flexible Programm AIXWindows Interface Composer/6000 (AIC) zur Verfügung, Aufruf: aic & Nach der interaktiven Erstellung der grafischen Oberfläche wird ein rechnerunabhängiger Quellcode (C) erzeugt, der noch kompiliert werden muß. Die einzelnen grafischen Teile der Oberfläche werden mit der Methode WYSIWYG (What You See Is What You Get) zusammengefügt und über den integrierten Resource-Editor angepaßt. Alle von Motif angebotenen Widgets stehen zur Verfügung. Der erzeugte Quellcode kann mit dem integrierten Interpreter ausgetestet und auch auf anderen Plattformen kompiliert werden, sofern Motif vorhanden ist. Dieses Programm wird im Rahmen der Campuslizenz für IBM RS/6000-Rechner angeboten. Online-Information gibt's im InfoExplorer, Stichwort AixWindows Interface Composer.
IBM AIX Visualization Data Explorer/6000
PV-WAVE
CQUEL.BYU
UNIRAS-Grafiksystem
Man unterscheidet zwischen "Schlüsselfertigen Visualisierungsprogrammen"
("Turnkey Visualization Programs") und "Visualisierungs-Erstellungsprogrammen")
("Application Builders"). Zur ersten Gruppe zählen PV-WAVE, CQUEL.BYU und
UNIRAS, zur zweiten DATA Explorer/6000 von IBM.[3] Die zur ersten Gruppe
gehörenden Programme sind in abnehmender Komplexität und Flexibilität
angeführt.
Darstellung von 2D/3D Grafiken in Form von x-y-Daten, Gestaltung von Achsen, Ergänzung von Bildern, Mehrfachbilder, grafische Eingabe, Contour-Plots, Surface-Plots, Kombination verschiedener Methoden, unterschiedliche Farbmodelle.
Bildverarbeitung: Darstellen von Bildern, Vergrössern, Verkleinern, Algorithmen zur Bildverarbeitung (Glätten, Filtern, statistische Funktionen). Geometrische Transformationen, Warping, morphologische Operationen, Texturemapping eines Rasterbildes auf eine 3D-Oberfläche, Animation, Raytracing.
Folgende Ausgabeformate werden unterstützt: PostScript, EPSI, HPGL, PICT, CGM und TIFF.
Der Aufruf lautet (zwei Lizenzen sind vorhanden): pv-wave &
Abb. 1:
Beispiel für PV-WAVE-
Kommandosprache:
z = Shift(Dist(40),20,20)
Surface, Exp(-(-z/10)^2)
Dieses Programmpaket ist ein 3D-Modellierungs-und Visualisierungsprogramm und ist als Nachfolgeprogramm von MOVIE.BYU in MVS konzipiert. Die sog. Geometriedateien in MVS und AIX können ausgetauscht werden. Die Benutzersteuerung geschieht entweder durch Anklicken von Menüs oder durch Kommandoeingabe, (Keyframe)-Animation, Raytracing und Fraktalbildung werden unterstützt. Daten und Modelle können in verschiedenen Formaten abgespeichert und gelesen werden. zum Beispiel in den Geometriedateien und IGES-Dateien (=Standard-Format in CAD-Programmen), Bilder im TIFF und xwd-Format. Als Ausgabe-Format ist auch PostScript möglich. Der Aufruf erfolgt mit:
cquel.byu &
Abb. 2:
Beispiel einer Animation mit CQUEL.BYU:
Ein Objekt (Drahtmodell einer Kugel) wird als
Objekt einer Animationssequenz von 20 Rahmen ("frames") definiert; Rahmen 0, 10, 20 bilden die
Schlüsselrahmen. Die Bilder dazwischen werden berechnet und dargestellt.
Abb. 3:
Datenflußpfad Im Data/Exporer:
Die Knoten im Zeichenfeld
representieren die Module, aus denen das Visualisierungs-
programm aufgebaut ist. Der Datenaustausch erfolgt über die mit Linien verbundenen Ein-/Ausgänge der Knoten. Ausführen durch Anklicken von "Execute" in der Menü-Leiste.
Unterstützung sehr vieler Gerätetreiber, deren Konfiguration an lokale Gegebenheiten angepaßt werden können. Verschiedene Farbmodelle sind vorhanden.
Neben einem eigenen, System abhängigen Grafikmetafile - UNIPICT Format - wird die ISO-Standard Computer Graphics Metafile CGM unterstützt.
Die Textfonts sind nach ISO 8859-1 kodiert; zusätzlich ist eine eigene Charakter Datenbank (36000 Symbole) vorhanden. Zwischen verschiedenen nationalen Sprachen kann gewählt werden.
Der Aufruf von UNIRAS-Grafiksystem erfolgt entweder durch
1. Eingeben von (Methode 1): /usr/lib/uniras/6v3b/base/uni.profile - am einfachsten ist es, diese Zeile in die eigene Profile-Datei, z.B. .profile mit aufzunehmen - anschließend muß für jede gewünschte UNIRAS-Anwendung der entsprechende Aufruf mit den geeigneten Parametern erfolgen, oder einfacher mit 2. Eingeben von (Methode 2): uniras & Damit wird eine grafische Oberfläche erzeugt, mit der mittels Mausklick die gewünschten Anwendungen auf einfache Weise aktiviert werden können.
UNIGRAPH+2000
Aufruf nach Methode 1: unigraph -d mx11 -m -warp -exit & Aufruf nach Methode 2: Anklicken der grafischen Oberfläche bei UNIGRAPH+2000 + Ok Es können Daten in verschiedenen Grafiken (2D/3D/4D) dargestellt werden; dabei ist es sehr einfach, für einen gegebenen Datensatz unterschiedliche grafische Darstellungen zu erzeugen oder Grafen in Farbe, Form und Aussehen zu verändern.
Die Benutzersteuerung erfolgt durch Maus, Kommandoeingabe oder Cursorbewegungen. Das Programm kann sowohl interaktiv als auch in Batch verarbeitet werden. Weitere Merkmale von UNIGRAPH+2000 sind u.a.:
Flexible, einfache Datenformate zur Eingabe von Daten.
Integrierter Texteditor zur direkten Dateneingabe.
Ausgabe der Grafiken in präsentationstauglicher Form auf diverse
Ausgabegeräte und auf die Grafikformate EPS, PS, HPGL und CGM.
Integrierte mathematische und statistische Funktionen zur Auswertung
und Analyse der Daten.
Exportieren der Grafiken im proprietären Format UNIPICT zur
Weiterverarbeitung mit PICTURE MANAGER und UNIEDIT 2000 (siehe unten).
Zur Zeit besteht das Hardcopy-System im URZ aus folgenden Treibern:
1. PostScript-Drucker QMS DIN A4 Quer (s/w)
2. Color PostScript-Grafikformat, Standardgröße 19.7x28.5 cm
3. Color Encaps. PostScript Grafikformat, Standardgröße 11.85x16.93 cm
4. HPGL-QMS-Drucker DIN A4 Quer (s/w)
5. HP7475A-Plotter Grafikformat DIN A4 Quer
6. HP DeskJet 500C-Drucker[4]
7. PCL-QMS-Drucker DIN A4 Quer (s/w)
8. MVS-Plotter A4-Format[5]
9. MVS-PLotter A0-Format
Zur Auswahl der verschiedenen Ausgabetreiber muß der Befehl HARDCOPY/DEVICE abgegeben werden. Zur Aktivierung der Ausgabe ist der Befehl HARDCOPY/PRINT zu verwenden. Bei Ausgabe auf eine Grafik-Datei muß vorher aber noch der Befehl HARDCOPY/PLOTFILE mit geeigneten Angaben eingegeben werden.
Ein Tutorial zu diesem Programm ist vorhanden; zusätzlich findet man in /usr/local/demos/uniras/unigraph eine ausführlichere Beschreibung zur Handhabung dieses Programms.
PICTURE MANAGER
Aufruf nach Methode 1: upm -d mx11 -m -exit & Aufruf nach Methode 2: Anklicken der grafischen Oberfläche bei PICTURE MANAGER + Ok Mit diesem Programm können Bilddateien unterschiedlichster Formate (CGM, UNIPICT, UNIPORT) importiert und bearbeitet werden. Das Format UNIPORT ist ein wie UNIPICT proprietäres Format von UNIRAS, aber maschinenunabhängig. Es können dabei mehrere eingelesene Bilddateien zu einer Grafik zusammengefügt werden. Die Benutzersteuerung erfolgt wie bei UNIGRAPH+2000 durch Maus, Kommandoeingabe oder Cursor. Das Hardcopy-System entspricht ebenfalls dem von UNIGRAPH+2000.
In /usr/local/demos/uniras/upm findet man eine ausführliche Beschreibung zur Handhabung dieses Programms.
UNIEDIT 2000
Aufruf nach Methode 1: uniedit -d mx11 -m -exit & Aufruf nach Methode 2: Anklicken der grafischen Oberfläche bei UNIEDIT 2000 + Ok Dieses Programm ist ein Grafischer Editor, mit dem Zeichnungen erstellt und bereits vorhandene UNIRAS-Grafiken weiterverarbeitet und verfeinert werden können. Außerdem ist es möglich, Logos zu erstellen, die dann in UNIGRAPH+2000 eingelesen werden können. Die Benutzersteuerung erfolgt wie bei UNIGRAPH+2000 durch Maus, Kommandoeingabe oder Cursor. Das Hardcopy-System entspricht ebenfalls dem von UNIGRAPH+2000.
In /usr/local/demos/uniras/uniedit findet man eine ausführliche Beschreibung zur Handhabung dieses Programms.
Literatur zu Abschnitt 6.3 (Auswahl)
AIX/User Interface Programming Concepts, Vol.2: AixWindows Interface Composer
PV-WAVE Command Language Reference und Command Language User's Guide
CQUEL.BYU - Handbook
IBM Visualization Data Explorer User's Guide und Programmer's Reference
ARC, ARCPLOT, ARCEDIT Command Reference
ARC/INFO Data Model, Concepts & Key Terms
Understanding GIS - The ARC/INFO Method
AGS/UNIGRAPH+2000 User Guide and Reference Manual
AGS/PICTURE MANAGER User Guide and Reference Manual
AGS/UNIEDIT 2000 User Guide and Reference Manual
Name Unterstützte Compiler Ausgabe Bemerkungen graPHIGS FORTRAN, C, Pascal X, CGM, GDF Bestandteil von AIX Personal graPHIGS GKS FORTRAN, C X, CGM, GKSM Bestandteil von AIX Personal graPHIGS8 AIX/6000 FORTRAN, C, Pascal X, CGM, PS, HPGL Graphics Tool Collect.9 UNIRAS - FORTRAN, C diverse Ausgabetreiber Bibliotheken NAG FORTRAN X, PS, HPGL, MVS-Plotter GRAPHICS LIBRARY TW GRAPH FORTRAN X, CGM, PS, MVS-Plotter URZ Standard FORTRAN X, CGM, PS, MVS-Plotter BENSON-Aufrufe Plot- werden Bibliothek nicht unterstützt10
Einheit Kategorie Connid Wstype X-Window Ein-/Ausgabe '*' 'X ' CGM - Binär Ausgabe 'File-Name' 'CGM ' GDF-Metafile Ausgabe 'File-Name' 'GDF '
GDF bedeutet Graphic Display File und bezeichnet ein Grafikformat, das mit dem Aufruf cvtgdf File-Name in ein, auf dem Großrechner mit MVS oder VM/CMS wohldefiniertes Grafikformat, nämlich ADMGDF, zur Weiterverarbeitung mit dem Grafik-Utility CHART konvertiert werden kann. Die Ausgabe von CGM kann z.B. mit dem PICTURE MANAGER von UNIRAS (vgl. Abschnitt "Programme zur Daten-Visualisierung") weiterverarbeitet werden.
Wichtige Kontrollfunktionen von graPHIGS, dargestellt für FORTRAN, sind:
CALL GPOPH('SYSPRINT',0) Open graPHIGS graPHIGS wird initialisiert;
Fehlermeldungen kommen
auf die File SYSPRINT.
CALL GPOPWS(1,'*','X ') Open Workstation X-Window wird als Aus-/
Eingabe definiert.
CALL GPCLWS(1) Close Workstation Hier wird die Workstation
(X-Window), geschlossen.
CALL GPCLPH Close graPHIGS graPHIGS wird termi-
niert.
Anmerkung:
graPHIGS enthält zwei Arten von Unterprogrammen, nämlich die mit GPxxxx bezeichneten (wie oben die Kontrollprogramme) und Unterprogramme, die dem Standard ISO-ANSI-PHIGS mit Sprachbindung an C und FORTRAN entsprechen. Eine Mischung von beiden ist möglich.
Wie sich hierarchische Strukturen in graPHIGS aufbauen lassen, zeigt die folgende Abbildung (Abb.1) am Beispiel einer Textausgabe:
Abb. 4:
Aufbau und Anwendung hierarchischer Strukturen in graPHIGS gezeigt anhand von Textausgabe.
Ein Lernprogramm für graPHIGS steht durch Aufruf von /usr/lpp/graPHIGS/clients/gPtutor zur Verfügung. Ebenso gibt es ausführliche Beispiele und Demos in /usr/lpp/graPHIGS/samples Online Information erhält man im InfoExplorer mit dem Stichwort graPHIGS.
Einheit Kategorie Connid Wstype X-Window Ein-/Ausgabe 1 1 WISS Ausgabe 1 2 GKSM-Ausgabe Ausgabe 1 3 GKSM-Eingabe Eingabe 1 4 CGM - Binär Ausgabe 1 5
WISS bedeutet Workstation Independent Segment Storage und bezeichnet einen internen Speicherbereich zum Austausch von Grafiken zwischen verschiedenen Einheiten. Die Ausgabe auf CGM kann z.B. mit dem PICTURE MANAGER von UNIRAS (vgl. Abschnitt über Programme zur Daten-Visualisierung) weiterverarbeitet werden. Wichtige Kontrollfunktionen von GKS (in FORTRAN):
CALL GOPKS(6,0) Open GKS Erster Aufruf zum Initialisieren
von GKS.
CALL GOPWK(1,1,1) Open Workstation Aus-/Eingabe auf X-Window
wird definiert.
CALL GCLWK(1) Close Workstation Aus-/Eingabe auf X-Window wird beendet. CALL GCLKS Close GKS Terminieren von GKS.
Ein ausführliches Beispiel-Programm für FORTRAN mit Makefile findet man in dem Verzeichnis: /usr/lpp/graPHIGS/samples/roomdemo Online Information erhält man im InfoExplorer mit dem Stichwort GKS.
Typ Name Beschreibung Ausgabe vdipro IBM Proprinter II, IBM Proprinter XL Printers Ausgabe vdipro24 IBM Proprinter X24, IBM Proprinter XL24 Printers Ausgabe vdi5202 IBM Quitwriter III Printer Virtuelle vdipmp IBM PageMapped Printers Geräteschn ittstelleA usgabe Ausgabe vdilaser Hewlett-Packard Laserjet+Printer Ausgabe vdips PostScript Printers Prof. vdiplot IBM Color Plotters Graphics Tool Collection Ausgabe Aus/Ein vdix X-Window Aus/Ein vdi4105 Tektronix 4105 Terminal Ausgabe vdimeta IBM Computer Graphics Binary Format Metafile Ausgabe vditext IBM Computer Graphics Clear Text Format Metafile Ausgabe vdichar IBM Computer Graphics Character Format Metafile Eingabe vdidials IBM Dials Eingabe vdilpfk IBM LPFK (Lighted Program Function Keyboard) Eingabe vditablet IBM Tabletts
In der Anwendung wird beim Öffnen der Aus- und/oder Eingabe eine Zeichenkette, z.B. DDEVICE spezifiziert, die als Environment-Variable dem gewünschten Gerätenamen zugeordnet wird. Beispiel: export DDEVICE=vdix Damit wird die Aus- bzw. Eingabe auf X-Window definiert. Durch Spezifizieren verschiedener Zeichenketten, z.B. DDEVICE1, DDEVICE2 usw. können in der Anwendung mehrere Geräte aktiviert werden. Man bezeichnet dieses Verfahren als Virtuelle Geräteschnittstelle[13]. AIX/6000 Professional Graphics Tool Collection ist Bestandteil der Campus-Lizenz für RISC/6000-Rechner von IBM und besteht aus drei Teilen, die auch einzeln lizenziert werden können:
Ein kleines Beispielprogramm dient zur Illustration:
implicit integer (a-z)
C DEFINIEREN DER DATEN
real xray(4), yray(4)
integer status
data xray /1.,2.,3.,4./, yray /15.,27.,20.,11./
C ÖFFNEN DES SYSTEMS UND ÖFFNEN DES GERÄTES FÜR AUS-/EINGABE
status=popnps()
status=ppsot('DDEVICE')
status=ppsin('DDEVICE')
C DEFINIERE DIAGRAMMTYP - LINIE UND ZEICHENFLÄCHE
status=pdsxy(1,4,xray,yray)
status=pdsview(0.,0.,49.9,100.)
C SETZE AUSGABEATTRIBUT-STIL UND GEBE AUS
status=pdsstl(1,3)
status=pdsfil(1,0,1)
status=ppltit()
C WARTE AUF BENUTZEREINGABE, SCHLIESSE EINHEIT UND SYSTEM
status=prqch(8,ich)
status=pclio('DDEVICE
status=pclsps()
end
Abb. 5:
Ausgabe des obigen Beispiel-
Programms. Als Environment-
Variable wurde gesetzt:
export DDEVICE=vdix
Online-Dokumentation erhält man im InfoExplorer mit dem Stichwort Graphics PLotting System/6000.
FGL/AGL Fundamental Graphics Library/Application Graphics Library
Basis-und komplexere Grafikanwendung für FORTRAN und C
agX/Toolmaster Komplexe Anwenderprogramme über X-Window/Motif für C
FGL/AGL und agX/Toolmaster sind jeweils in folgende Anwendungsgebiete unterteilt:
CGM Routinen zur Bearbeitung von CGM-Grafikdateien (CGM-Dateien werden erzeugt und interpretiert). GRAPHICS Basisroutinen fuer 2D- und 3D-Darstellungen, für Texte und für das Farbsystem. IMAGE Routinen zur Visualisierung von Daten, die als Raster-daten, z.B. Datensätze aus Meßverfahren, Scan-Daten oder numerischen Berechnungen, vorliegen. 3D-RENDER Modellierung und 3D-Darstellung. AXES Darstellung von Achsen. BLOCKS Behandlung von 3D-Funktionen. CHARTS Erzeugung von Präsentationsgrafiken. CONTOUR/ CONTOUR PLUS Darstellung von Konturen, erweitert um Möglichkeiten zur Darstellung über variable Gitterabstände in benutzerdefinierten Regionen und Projektionen. FLOWMAPS Erzeugung von Flußdiagrammen u.a. aus der UNIRAS Charakter-Datenbank. GRIDS Darstellung von Daten in 2D- oder 3D-Rasterdiagrammen. INTERPOLATIONS Interpolation von unregelmäßig angeordneten Gittern. KRIGING Spezielle Interpolationsroutinen, insbesondere für geophysikalische Anwendungen. PROJECTIONS Kartographische Projektionen. SEISPLOTS Darstellung seismologischer Daten. VOLUMES Verarbeitung von Daten in 3D-Gittern.
Zum Ansprechen der Bibliotheken stehen zwei Methoden zur Verfügung, je nach der Art und Weise, wie das UNIRAS-Grafiksystem initialisiert wurde (vgl. im Abschnitt: UNIRAS-Grafiksystem).
Nach Methode 1 geschieht das Kompilieren/Linken von FORTRAN- bzw. C-
Programmen durch Aufruf von unilink Programm.f bzw. unilink Programm.c und für C-Programme in agX/Toolmaster mit agxlink Programm.c Das entstandene Programm Programm im aktuellen Verzeichnis kann dann ausge-
führt werden. Für jede Routine erhält man im übrigen mit man Routine-Name die entsprechende Beschreibung der UNIRAS-Routine.
Nach Methode 2 wird eine grafische Oberfläche erzeugt, mit der mittels Mausklick die gewünschten Anwendungen auf einfache Weise aktiviert werden können. Zum Kompilieren/Linken den gewünschten Knopf mit der linken Maustaste auswählen. Das entstandene Programm Programm steht im aktuellen Verzeichnis und kann mit dem Knopf: Run UNIRAS with your Parameter(s) ausgeführt werden. Für jede UNIRAS-Routine kann über den Knopf: Man page for UNIRAS eine entsprechende Beschreibung erhalten werden.
Die folgende Tabelle gibt eine Auswahl der z.Zt. im URZ unterstützten Gerätetreiber. Der Namen eines Gerätetreibers setzt sich i.a. zusammen aus einer Typ-Kennung, z.B. p für Vektor-Treiber, Geräte-Name wie hp7475 und Zeichenfeldgröße wie a4. Beachten Sie bitte, daß die Gerätenamen in Groß-und/oder Kleinschreibung angegeben werden können, während Dateinamen als UNIX-Files in der angegebenen Schreibweise stehen müssen.
Beschreibung Name Ausgabe/Ausgabedatei X-Window mx11 Bildschirm PostScript (s/w) hposta POST PostScript hcposta POST Encapsulated PostScript hcposteps POST HPGL php7475a4 HPGL PCL ghp2106a4 unirast.rdb HPDeskJet 500C ghp2114a4 unirast.rdb MVS-Stiftplotter pc1044 Plot.in.MVS CGM - Binär, Charakter, lcgmbin, lcgmchr, lcgmclt unicgm.cgm Text
Zum Ausgeben auf einen gewählten Drucker ist das Kommando lpr einzugeben, z.B. lpr -Phpdj unirast.rdb im Falle des Druckers HPDeskJet 500C.[14]
Zur Illustration einer Anwendung folgt hier ein FGL/AGL-Beispielprogramm:
C
C DARSTELLUNG VON LOGARITHMISCHEN KURVEN
C
C DATEN, KONSTANTEN
- - - - -
C DEFINITION DES GERÄTETREIBERS UND ÖFFNEN VON UNIRAS
CALL GROUTE(' ')
CALL GOPEN
C DEFINIEREN DER BENUTZERKOORDINATEN UND DES VIEWPORT
CALL GLIMIT(XMIN,XMAX,YMIN,YMAX,0.,0.)
CALL GRPSIZ(XSIZMM,YSIZMM)
XSIZE = 0.55 * MIN(XSIZMM,YSIZMM)
YSIZE = XSIZE
XORG = (XSIZMM-XSIZE)/2.
YORG = (YSIZMM-YSIZE)/2.
CALL GVPORT(XORG,YORG,XSIZE,YSIZE)
C DEFINIERE ASPEKTVERHÄLTNIS UND AKTIVIERE BENUTZERKOORDINATEN
XLEN = XSIZE/MIN(XSIZE,YSIZE)
YLEN = YSIZE/MIN(XSIZE,YSIZE)
CALL GWBOX(XLEN,YLEN,0.)
CALL GSCALE
C ZEICHNE ACHSEN UND KURVEN
CALL RAXAXL(2,9999,9999,0.5)
- - - - -
DO 100 I =1, NCURVE
DO 200 J = 1,NPOINT
- - - - -
XARR(J) = ALOG10(TRANS)
200 YARR(J) = ALOG10(FREQR)
100 CALL GVECT(XARR,YARR,NPOINT)
C SCHLIESSEN VON UNIRAS
CALL GCLOSE
END
Abb. 6:
Ausgabe des obigen Programms. Es ist das verkürztes Programm
axi004.f in /usr/lib/uniras/6v3b/
example/fgl .
Bemerkungen zum Ablauf des Beispiel-Programms:
Mit GROUTE wird der verwendete Gerätetreiber als Zeichenkette in der Form: Device Name ; EXit definiert, z.B. d php7475a4; exit. Bei Angabe eines Leerstrings kann man während der Programmausführung diese Spezifikation machen, sodaß mehrere verschiedene Ausgaben bei einem Programm erstellt werden können. Für weitere Angaben bei GROUTE wird auf die entsprechende Beschreibung verwiesen. Alle Größenangaben in UNIRAS, z.B. Höhe oder Längen, erfolgen in der Einheit mm. Der durch den Aufruf GVPORT definierte Viewport (Darstellungsbereich) ist ein Bereich innerhalb der für das gewählte Gerät insgesamt zur Verfügung stehenden Zeichenfläche.
Für die Bibliothek agx/Toolmaster stehen entsprechende Routinen zur Verfügung, z.B. XuDeviceSelect für GROUTE. Allerdings kann hier diese Routine entfallen, da die Ausgabe auf X-Window hier standardmäßig erfolgt.
Achsen, Gitter, Rahmen, Titel J06A.. Punkt / -Linienplots J06B.. Kurven-Zeichnungen J06C.. Gewöhnliche Differentialgleichungen J06D.. Allgemeine Funktionen J06E.. Spezielle Funktionen J06F.. Konturen J06G.. Oberflächen J06H.. Präsentations Graphik J06J.. Darstellung von Vektor-Feldern J06K.. Statistische Graphik J06S.. Kontroll-Routinen J06W.. Funktionen zum Setzen von Attributen J06X.. Zeichnung von Graphik-Primitiven J06Y..
Zur Ausgabe stehen z.Z. im URZ folgende Möglichkeiten zur Verfügung:
Ausgabe auf GKS fuer X-Window + CGM (Binär)
Ausgabe auf PostScript (s/w)
Ausgabe auf CALCOMP-Schnittstelle (MVS-Plotter)
Ausgabe auf HPGL
Ausgabe auf Line-Printer
Ausgabe auf X-Window erfolgt mit: xlf -lnaggl -lnaggks -lnag -lgksco -lgP -o Programm Programm.f Parallel mit der X-Ausgabe erfolgt eine Ausgabe auf die CGM-File GKS01.cgm (Binär). Weiterverarbeitung mit UNIRAS (uniedit, PICTURE MANAGER) ist möglich.
Ausgabe auf PostScript mit: xlf -lnaggl -lnagps -lnag -o Programm Programm.f Beim Ausführen dieses Programms wird die PostScript-Datei fort.7 im aktuellen Verzeichnis angelegt (A4-Format).
Ausgabe auf die CALCOMP-Schnittstelle (MVS-Plotter) mit: xlf -lnaggl -lnagcal -lnag -lcalcdrv -o Programm Programm.f Es wird eine Datei Plot.in.MVS im aktuellen Verzeichnis erzeugt, die mit dem Kommando mvsplot auf den gewünschten MVS-Plotter ausgegeben werden kann. Die maximale Länge der Zeichnungen beträgt 20 cm.
Ausgabe auf HPGL mit: xlf -lnaggl -lnaghpg -lnag -o Prgramm Programm.f Es wird die HPGL-Datei fort.7 im aktuellen Verzeichnis im A4-Format erzeugt.
Ausgabe auf den Line-Printer mit: xlf -lnaggl -lnaglpr -lnag -o Programm Programm.f Es erfolgt Ausgabe auf die Standard-Ausgabe und mittels Ausgabe-Redirektion kann die entsprechende Ausgabe-Datei auf den geeigneten Zeilendrucker ausgegeben werden kann (vergl. auch xhilfe, Menüpunkt Verfügbare Drucker). Ein kleines Beispielprogramm diene als Illustration:
PARAMETER (NMAX=12)
DOUBLE PRECISION UMAX /1./, UMIN /0./, VMAX /1./, VMIN /0./
DOUBLE PRECISION A(NMAX) /12.37,6.55,8.99,-2.4,5.66,7.23,
* 18.53,-3.33,2.45,1.11,0.01,2.96)
INTEGER N /12/
LOGICAL DRSET /.TRUE./, VERTCL /.TRUE./
C AUSWAHL DER AUSGABE-EINHEIT - FÜR ALLE TREIBER GLEICH
CALL XXXXXX
C INITIALISIEREN VON NAG GRAPHICS UND SETZEN DES VIEWPORTS
CALL J06WAF
CALL J06WCF(UMIN,UMAX,VMIN,VMAX)
C SETZE AUSGABEATTRIBUTE FÜR BALKENGRAFIK UND GEBE AUS
CALL J06XKF(3,2,1,1,1)
CALL J06XMF(0.33D0)
CALL J06JMF(A,12,VERTCL,DRSET,0)
C BILDÜBERSCHRIFT
CALL J06AHF('J06JMF Example Plot')
C Terminiere NAG GRAPHICS
CALL J06WZF
END
Abb. 7:
Ausgabe des obigen Programms. Das Beispiel ist aus den Routinen für Präsentationsgrafik ent-
nommen (verkürzt).
In /usr/local/demos/nag finden sich viele Beispiele und entsprechende Aufrufprogramme.
GKS-Schnittstelle
Es kann jede der GKS-Norm entsprechende GKS-Implementierung verwendet werden. Zur GKS-Implementierung im URZ wird auf die entsprechende Beschreibung in diesem Kapitel verwiesen. Die Aufrufe von TW GRAPH werden dabei zu Beginn und Ende von GKS in die entsprechenden GKS-Aufrufe eingeschlossen. Mit GKS ist Ausgabe auf X oder/und auf CGM (Binär) möglich. Die CGM-Ausgabe kann z.B. mit UNIRAS (uniedit oder PICTURE MANAGER) weiterverarbeitet werden. Das Schema sieht folgendermaßen aus:
CALL GOPKS(6,0) <--- OPEN GKS
CALL GOPWK(1,1,1) <-- OPEN WORKSTATION (X-Ausgabe)
[ CALL GOPWK(1,1,5) <- OPEN WORKSTATION (CGM) ] [15]
CALL GACWK(1) <-- ACTIVATE WORKSTATION
C
(TW GRAPH - Aufrufe einschließlich ENDPLT)
C
CALL GDAWK(1) <-- DEACTIVATE WORKSTATION
CALL GCLWK(1) <-- CLOSE WORKSTATION
CALL GCLKS <-- CLOSE GKS
Mit GKS stehen damit auch die entsprechenden Eingabe-Aufrufe (bei X-Ausgabe), d.h. interaktive Grafik zur Verfügung. Kompilieren und Linken eines Programms in FORTRAN geschieht mit: xlf -lgksdrv -ltwg -lgksco -lgP -o Programm Programm.f
PostScript-Schnittstelle
Standardmäßig ist die Ausgabefläche auf Din-A4-Format (29.7x21.0 cm) beschränkt, kann aber durch den TW GRAPH-Aufruf DPSIZE entsprechend geändert werden. Die meisten Ausgabegeräte benötigen einen Rand, sodaß die tatsächlich verfügbare Fläche meistens kleiner als DIN-A4 ist. Die Koordinatenachsen sind wie folgt definiert: Der Ursprung liegt in der linken unteren Ecke, die x-Achse verläuft von links nach rechts parallel zur langen Seite (Druckervorschubrichtung), die y-Achse verläuft von unten nach oben parallel zur kurzen Seite. Kompilieren/lLinken eines Programms in FORTRAN geschieht mit: xlf -ltwgpost -ltwg -o Programm Programm.f Durch den Aufruf des Programms Programm wird die PostScript-Datei PSC1 im aktuellen Verzeichnis erzeugt. FORTRAN-Einheiten 98 und 99 sind reserviert.
Schnittstelle MVS-Plotter
Kompilieren/Linken eines TW GRAPH-Programms in FORTRAN geschieht mit xlf -lcalcpost -ltwg -o Programm Programm.f Mit dem Aufruf des Programms Programm wird die Datei Plot.in.MVS im aktuellen Verzeichnis erzeugt, die mit dem Kommando mvsplot auf dem ausgewählten MVS-Plotter ausgegeben wird[16]
C-Interface zu TW GRAPH
Mit einem von Herrn Jörg Schön erstellten Interface ist es möglich, TW GRAPH auch unter der Programmiersprache C ablaufen zu lassen. Makefiles, Beschreibung und Beispiele dazu findet man in: /usr/local/demos/twg/flib2c Ein einfaches Beispielprogramm von TW GRAPH diene als Illustration:
REAL X(10),Y(10)
DATA X(1) /0.5/, Y(1) /2.118/, X(2) /1.5/, Y(2) /1.187/,
* X(3) /3.0/, Y(3) /0.648/, X(4) /5.0/, Y(4) /0.381/,
* X(5) /7.0/, Y(5) /0.248/, X(6) /9.5/, Y(6) /0.150/
C GLATTE KURVE DURCH DIE DATENPUNKTE ZEICHNEN
CALL PDATA(5,6,X,Y)
C DATENPUNKTE MARKIEREN
CALL PDATA(0,6,X,Y)
C BILDÜBERSCHRIFT
CALL PTITLE('BEISPIEL',1.1)
C ACHSENBESCHRIFTUNGEN
CALL PXTEXT('SEKUNDEN')
CALL PYTEXT('AMPLITUDE')
C TERMINIEREN
CALL ENDPLT
END
Abb. 8:
Ausgabe des obigen
Programms. Es wird eine
Grafik mit skalierten Achsen und Rahmen erzeugt.
Weitere Beispiele und Makefiles zu TW GRAPH findet man in: /usr/local/demos/twg
PLOTS Initialisiert die Grafik-Software
NEWPEN Kennzeichnet die aktuelle Farbe
SYMBOL Zeichnet Text
PLOT Zeichnet Linien, beendet die Grafik-Software
Drei Ausgabeschnittstellen stehen zur Verfügung: PostScript, GKS und Ausgabe auf die MVS-Plotter.
PostScript-Ausgabe
Standardmäßig ist dabei die Ausgabefläche auf ein DIN-A4-Format (29.7x21.0 cm) beschränkt, kann aber durch den Aufruf FACTOR oder XXDPSZ entsprechend verändert werden, im übrigen wird auf die Besprechung der PostScript-Ausgabe bei der Bibliothek TW GRAPH verwiesen. Kompilieren/lLinken eines Programms in FORTRAN geschieht mit: xlf -lcalcpost -lcalcsub Programm.f -o Programm Beim Aufruf der erstellten Programms Programm wird eine PostScript-Datei PSC1 im aktuellen Verzeichnis erzeugt. FORTRAN-Einheiten 98 und 99 sind reserviert.
Zusätzlich zu den CALCOMP- und URZ-Routinen stehen hier - besonders im Hinblick auf die Verwendung bei PostScript - folgende Unterprogramme zur Verfügung, die vor dem ersten Aufruf von PLOT verwendet werden:
XXDPBR(IPBORD) IPBORD = 0 (Kein Rand, Standard, sonst = 1)
XXDPSZ(XSIZE,YSIZE) Länge der Seite in x-Richtung (Standard: 29.7 cm)
bzw. Länge in y-Richtung (Standard 21.0 cm)
XXROT(IVROT) IVROT = 0 Keine Rotation (Standard), sonst = 1
SLWDTH(LWDTH) Linienbreite; LWDTH = 1 (Standard, 0.16 mm)
FLAREA(N,X,Y,IPAT) Zeichnen einer Hintergrundfläche mit
N Anzahl der Vertizes der Fläche
X,Y Koordinaten der Vertizes
IPAT Grau-/Farbmuster mit
1,2, ... 8 Graustufen (8 am hellsten)
-1,-2, ... -8 Farben (-1 entspricht schwarz)
Schnittstelle GKS
Das grafische Kernsystem (GKS) in der Implementierung bei AIX Personal graPHIGS - vgl. den entsprechenden Abschnitt -, wird verwendet, um Ausgabe auf X und auf CGM-File (Binär) zu erzeugen. Der Aufruf in FORTRAN lautet: xlf -lcalcgks -lcalcsub -lgksco -lgP -o Programm Programm.f Es wird zusätzlich zur Ausgabe auf X eine CGM-File (Binär) namens GKS99.cgm erzeugt, die z.B. mit UNIRAS (uniedit oder PICTURE MANAGER) weiterverarbeitet werden kann. Zum Schema der Programm-Aufrufe vgl. oben bei der PostScript-Ausgabe. Bei Angabe von PLOTS(0,0,99) werden Koordinaten im Bereich (0,xmax,0,ymax)=(0,88.,0,88.) verwendet, bei PLOTS(xmax,ymax,99) analog.
Ausgabe auf MVS-Plotter
Kompilieren/Linken eines Programms in FORTRAN geschieht mit: xlf -lcalcdrv -lcalcsub Programm.f -o Programm Mit dem Aufruf des erzeugten Programms Programm wird eine Datei Plot.in.MVS erzeugt, die mit dem Kommando mvsplot auf einem ausgewählten MVS-Plotter ausgegeben werden kann. Es erfolgt keine Prüfung der maximalen Längen (xmax,ymax) in cm für die ausgewählten MVS-Plotter (200,88 für den Stift-bzw. Rasterplotter und 28.5,20 für die DIN4-Drucker). Ein Beispielprogramm folgt:
C BEREITSTELLUNG DER FELDER FÜR X- UND Y-WERTE UND SKALIERUNG
DIMENSION X(102), Y(102)
DATA X(1) /0./, Y(1) /0./, X(100) /2./, Y(100) /0./
C INITIALISIEREN DER SOFTWARE
CALL PLOTS(0,0,99)
C FESTLEGEN EINES NEUEN NULLPUNKTES
CALL FINIM(5.,5.)
C DATENEINGABE FÜR SINUS-KURVE
DO 10 I=1,99
X(I)=X(I-1)+0.02
10 Y(I)=SIN(X(I)*3.145)
C SKALIERUNG FÜR 20 CM X-ACHSE UND 10 CM Y-ACHSE
CALL SCALE2(X,20.,100,1)
CALL SCALE2(Y,10.,100,1)
C ZEICHNEN DER ACHSEN, KURVE UND BESCHRIFTUNG DER X-ACHSE
CALL AXIS2(0.,5.,'X-ACHSE',-7,20.,X(101),X(102))
CALL AXIS2(0.,0.,'Y-ACHSE',7,-10.,90.,Y(101),Y(102))
CALL LINE(X,Y,100,1,0,0)
CALL SYMBOL(21.,4.5,0.25,'*PI',0.,3)
C TERMINIERUNG DER PLOT-SOFTWARE
CALL FINTRA
END
Abb. 9:
Ausgabe des obigen
Beispielprogramms.
Weitere Beispiele und Makefiles zur URZ Standard-Software findet man in: /usr/local/demos/calcomp
Literatur zu Abschnitt 6.4 (Auswahl)
The graPHIGS API: Introducing, Understanding Concepts
The graPHIGS API: Subroutine Reference, ISO PHIGS Subroutine Reference
The graPHIGS API: User's Guide User's Guide, Subroutine Reference for GKS-CO
Computer Graphics Interface Toolkit/6000 - Programming Concepts and Reference
Computer Graphics Plotting System/6000 - Programming Concepts and Reference
Graphics File Translator/6000 - Programming Concepts and Reference FGL/AGL User Guide and Reference Manuals
agX/TOOLMASTER User Guide and Reference Manuals
Handbook for the NAG GRAPHICS LIBRARY
NAG GRAPHICS LIBRARY - Concise Reference
TW GRAPH-Ein Präsentationsgrafiksystem für techn.-wissenschaftl. Anwendungen
Standard-Software und graphische Systeme für die Plotter am URZ Heidelberg
Neben den bereits in Abschnitt: Hilfsmittel bei der täglichen Arbeit angeführten Public Domain Programmen sind in der folgenden Tabelle weitere Programme allgemeinerer Art angeführt. Ausführlichere Beschreibung findet man in (x)hilfe.
Aufruf Beschreibung Info durch / in gnuplot Interaktives Programm zum man Erzeugen von 2D/3D Plots gplot Interpretiert CGM (Binär, man Text), Ausgabe auf X, PS ImageMagick - verschiedene Bildverarbeitung, /usr/local/demos/Image Programme Format-Umwandlung, Animation Magick/ xgraph Einfaches Batch-Programm zur man Darstellung von 2D-Plots xmgr Menü-gesteuertes Zeichen- man programm für 2D-Diagramme rayshade Raytracing Programm /usr/local/demos/raysh ade vogle - Unterprogramm- 2D/3D-Grafikdarstellung für /usr/local/demos/vogle Bibliothek18 FORTRAN und C xfig Grafischer Editor unter X für man einfache 2D-Objekte xpaint Bitmap/Pixmap-Editor man
Grafik-Formate Welche Drucker oder UNIX-Kommando Bemerkungen Geräte PostScript QMS-PS 1700, 600 lpr -Pps filename lpr s/w dpi, DIN A4 -Ppsdup filename PostScript IBM3820 240 dpi, psi s/w DIN A4 PostScript COMPAREX-6890, 240 psi s/w dpi, DIN A4 PostScript Farbdiabelichter im lpr -Pdia filename, DIN A4 mit Theoretikum, Abt. der filename ist von Hochformat, Rand Film-Foto-Grafik. der Form *.ps bitte vorsehen. HPGL QMS-PS 1700, 600 lpr -Pgl filename s/w dpi, DIN A4 HPGL HP7475A im PC-Pool am Platz usr008 ftp farbig Platz usr008, von AIX, dann copy A4-Format filename /b com1 PCL QMS-PS 1700, 600 lpr -Ppcl filename s/w dpi, DIN A4 lpr -Ppcldup filename HPDeskJet HPDeskJet 500C, 300 lpr -Phpdj filename farbig, Gutscheine dpi, DIN A4 nötig MVS-Plotter-Format MVS-Plotter - mvsplot Benutzernummer in Stift-, MVS notwendig Rasterplotter