home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 7
/
FreshFishVol7.bin
/
new
/
misc
/
sci
/
oplot
/
oplot.dok
< prev
next >
Wrap
Text File
|
1994-06-22
|
76KB
|
1,977 lines
#################################################################################
# #
# OPlotV1.99b- Document-File (german) #
# #
# ©1993 by A.Maschke, all rights reserved. #
# #
#-------------------------------------------------------------------------------#
# #
# Verbesserungsvorschläge, Fehlermeldungen,... an: #
# #
# Andreas Maschke #
# Zenkerstraße 5 #
# 06108 Halle/Saale #
# #
# Telephon: 034/ 5170331 #
# #
# (GERMANY) #
# #
#################################################################################
*********************************************************************************
* INHALT *
*********************************************************************************
* *
* 0 EINFÜHRUNG ---------------------------------------------------------------- *
* 0.1 Shareware/Updates ------------------------------------------------------- *
* 1 LEISTUNGSMERKMALE --------------------------------------------------------- *
* 1.1 Mathematisches --------------------------------------------------------- *
* 1.1.1 Plots --------------------------------------------------------------- *
* 1.1.2 Koordinaten --------------------------------------------------------- *
* 1.1.3 Interpolation (Daten-Plots) ----------------------------------------- *
* 1.1.4 Anderes ------------------------------------------------------------- *
* 1.2 Graphische Darstellung ------------------------------------------------- *
* 1.2.1 Art der Darstellung ------------------------------------------------- *
* 1.2.2 Art der Punktdarstellung -------------------------------------------- *
* 1.2.3 Art der Textdarstellung --------------------------------------------- *
* 1.2.4 Art der Achsendarstellung ------------------------------------------- *
* 1.3 Berechnungen ----------------------------------------------------------- *
* 1.4 Das Interface ---------------------------------------------------------- *
* 1.4.1 Eingabe ------------------------------------------------------------- *
* 1.4.2 Ausgabe ------------------------------------------------------------- *
* 1.4.3 Bildschirmmodi ------------------------------------------------------ *
* 1.4.4 Bildschirmgrößen ---------------------------------------------------- *
* 1.4.5 Bildschirmarten ----------------------------------------------------- *
* 1.4.6 Anderes ------------------------------------------------------------- *
* 1.5 Anderes ---------------------------------------------------------------- *
* 1.6 Einschränkungen -------------------------------------------------------- *
* 2 START DES PROGRAMMS ------------------------------------------------------- *
* 2.1 System-Anfordungen ----------------------------------------------------- *
* 2.1.1 Betriebssystem ------------------------------------------------------ *
* 2.1.2 Libraries ----------------------------------------------------------- *
* 2.1.3 Stack-Speicher ------------------------------------------------------ *
* 2.2 Start des Programms ---------------------------------------------------- *
* 2.2.1 Argumente ----------------------------------------------------------- *
* 3. DOKUMENTATION ------------------------------------------------------------ *
* 3.1 Die User-Modi --------------------------------------------------------- *
* 3.1.1 Das Paßwort -------------------------------------------------------- *
* 3.2 Die OPlot-Variablen --------------------------------------------------- *
* 3.2.1 HMODE -------------------------------------------------------------- *
* 3.2.2 VMODE -------------------------------------------------------------- *
* 3.2.3 OVERSCAN ----------------------------------------------------------- *
* 3.2.4 CUSTWIDTH ---------------------------------------------------------- *
* 3.2.5 CUSTHEIGHT --------------------------------------------------------- *
* 3.2.6 DMODE -------------------------------------------------------------- *
* 3.2.7 OUTPUT ------------------------------------------------------------- *
* 3.2.8 OUTPUTFILE --------------------------------------------------------- *
* 3.2.9 ANGLES ------------------------------------------------------------- *
* 3.2.10 XCOL --------------------------------------------------------------- *
* 3.2.11 YCOL --------------------------------------------------------------- *
* 3.2.12 XSORT -------------------------------------------------------------- *
* 3.2.13 YSORT -------------------------------------------------------------- *
* 3.2.14 AUTOCLEAR ---------------------------------------------------------- *
* 3.2.15 DRAWAXIS ----------------------------------------------------------- *
* 3.2.16 DRAWGT ------------------------------------------------------------- *
* 3.2.17 GRAPHTITLE --------------------------------------------------------- *
* 3.2.18 TITLE -------------------------------------------------------------- *
* 3.2.19 POLAR -------------------------------------------------------------- *
* 3.2.20 KEEPCHARSIZE ------------------------------------------------------- *
* 3.2.21 CBORDER ------------------------------------------------------------ *
* 3.2.22 CBLEFT ------------------------------------------------------------- *
* 3.2.23 CBTOP -------------------------------------------------------------- *
* 3.2.24 CBRIGHT ------------------------------------------------------------ *
* 3.2.25 CBBOTTOM ----------------------------------------------------------- *
* 3.2.26 TICKMODE ----------------------------------------------------------- *
* 3.2.27 XTICKS ------------------------------------------------------------- *
* 3.2.28 YTICKS ------------------------------------------------------------- *
* 3.2.29 XTICKLEN ----------------------------------------------------------- *
* 3.2.30 YTICKLEN ----------------------------------------------------------- *
* 3.2.31 XLABEL ------------------------------------------------------------- *
* 3.2.32 YLABEL ------------------------------------------------------------- *
* 3.2.33 XLOGSCALE ---------------------------------------------------------- *
* 3.2.34 YLOGSCALE ---------------------------------------------------------- *
* 3.2.35 XLOGBASE ----------------------------------------------------------- *
* 3.2.36 YLOGBASE ----------------------------------------------------------- *
* 3.2.37 PCOUNT ------------------------------------------------------------- *
* 3.2.38 BSPLINEORDER ------------------------------------------------------- *
* 3.2.39 INTERKIND ---------------------------------------------------------- *
* 3.2.40 INTERPOINTS -------------------------------------------------------- *
* 3.2.41 PLOTSTYLE ---------------------------------------------------------- *
* 3.2.42 POINTTYPE ---------------------------------------------------------- *
* 3.2.43 POINTMODE ---------------------------------------------------------- *
* 3.2.44 POINTSIZE ---------------------------------------------------------- *
* 3.2.45 ATHICKNESS --------------------------------------------------------- *
* 3.2.46 BTHICKNESS --------------------------------------------------------- *
* 3.2.47 LTICKNESS ---------------------------------------------------------- *
* 3.2.48 TITLECHARTHICKNESS ------------------------------------------------- *
* 3.2.49 TICKCHARTHICKNESS -------------------------------------------------- *
* 3.2.50 LABELCHARTHICKNESS ------------------------------------------------- *
* 3.2.51 GTCHARTHICKNESS ---------------------------------------------------- *
* 3.2.52 CENTERXLABEL ------------------------------------------------------- *
* 3.2.53 CENTERYLABEL ------------------------------------------------------- *
* 3.2.54 FOUTPUT ------------------------------------------------------------ *
* 3.2.55 OUTFILENAME--------------------------------------------------------- *
* 3.3.56 FWIDTH ------------------------------------------------------------- *
* 3.3.57 FHEIGHT ------------------------------------------------------------ *
* 3.3.58 FXOFFSET ----------------------------------------------------------- *
* 3.3.59 FYOFFSET ----------------------------------------------------------- *
* 3.3.60 GRID --------------------------------------------------------------- *
* 3.3.61 FTYPE -------------------------------------------------------------- *
* 3.3.62 DRAWTICKCHARS ------------------------------------------------------ *
* 3.3. Plot-Funktionen ------------------------------------------------------- *
* 3.3.1 PLOT --------------------------------------------------------------- *
* 3.3.2 PPLOT -------------------------------------------------------------- *
* 3.3.3 PLOTDATA ----------------------------------------------------------- *
* 3.4. Berechnende Funktionen------------------------------------------------- *
* 3.4.1 CALC --------------------------------------------------------------- *
* 3.4.2 LINREG ------------------------------------------------------------- *
* 3.5. Display-bearbeitende Funktionen---------------------------------------- *
* 3.5.1 OPENDISPLAY -------------------------------------------------------- *
* 3.5.2 CLOSEDISPLAY ------------------------------------------------------- *
* 3.5.3 ABOUTDISPLAY ------------------------------------------------------- *
* 3.5.4 SHOWDISPLAY -------------------------------------------------------- *
* 3.5.5 BACKDISPLAY -------------------------------------------------------- *
* 3.5.6 SAVEDISPLAY -------------------------------------------------------- *
* 3.5.7 PRINT -------------------------------------------------------------- *
* 3.6. Andere Funktionen------------------------------------------------------ *
* 3.6.1 LOGIN -------------------------------------------------------------- *
* 3.6.2 SET ---------------------------------------------------------------- *
* 3.6.3 SHOW --------------------------------------------------------------- *
* 3.6.4 EXECUTE ------------------------------------------------------------ *
* 3.6.5. ! ------------------------------------------------------------------ *
* 3.6.6 CD ----------------------------------------------------------------- *
* 3.6.7 AVAILMEM ----------------------------------------------------------- *
* 3.6.8 ? ------------------------------------------------------------------ *
* 3.6.9 HELP --------------------------------------------------------------- *
* 3.6.10 EXAMPLE ------------------------------------------------------------ *
* 3.6.11 PAUSE -------------------------------------------------------------- *
* 3.6.12 RESPONSE ----------------------------------------------------------- *
* 3.6.13 STARTOUTPUT -------------------------------------------------------- *
* 3.6.14 STOPOUTPUT --------------------------------------------------------- *
* 3.6.15 ABOUT -------------------------------------------------------------- *
* 3.6.16 EXIT --------------------------------------------------------------- *
* 3.6.17 MACRO -------------------------------------------------------------- *
* 4. DATEIEXPORT -------------------------------------------------------------- *
* 4.1 PDraw-Genies ----------------------------------------------------------- *
* 4.2 HPGL-Dateien ----------------------------------------------------------- *
* 4.3 EEPic-Dateien ---------------------------------------------------------- *
* 4.4 Postscript-Dateien ----------------------------------------------------- *
* 5. Mathematische Funktionen und Konstanten ---------------------------------- *
* 6. ÜBER OPLOT --------------------------------------------------------------- *
* 7. QUELLEN UNTERSTÜTZENDER SOFTWARE ------------------------------------------*
* 8. COPYRIGHTS --------------------------------------------------------------- *
*********************************************************************************
0 Einführung
#################################################################################
OPlotV1.99 ist das leistungsfähigste und flexibelste 2D-Plot-Programm für
den Commodore Amiga.
Es stellt herkömmliche Funktionen der Form y=f(x), parametrisierte Funktionen
der Form y=f(x,t);x=f(t) und Daten auf die vielfältigste Art grafisch dar
und hat darüber hinaus wirkliche Innovationen zu bieten.
Die größte Stärke des Programms liegt ohne Zweifel in der Flexibilität, so
kann ein Plot durch über 60 Parameter beeinflußt werden !
Dadurch leidet natürlich die Benutzerfreundlichkeit - aber die Ergebnisse
überzeugen.
Zusätzlich wurde für den High-End-Bereich die Funktion des Erzeugens von
ProDraw-Genies implementiert, was das Programm auch für den Bereich des
DTP interessant macht.
Die Ausgabe von HPGL- und EEPic-Dateien ist nun direkt vom Programm
aus möglich.
Auch wurde ein kleiner ARexx-Port integriert, der alle Funktionen des
Programms anderen Applikationen zugänglich macht.
0.1 Shareware/Updates
=================================================================================
Dieses Programm ist Shareware, wer es regelmäßig benutzt, sollte dem Autor
einen Betrag von 5 bis 10DM (Bar!) zukommen lassen.
Updates:
Wer mir 12DM (Bar!) schickt, bekommt die aktuelle Version von OPlot zugesandt.
(Vorher (telephonisch) nachfragen, ob es Neuerungen gibt.)
1 LEISTUNGSMERKMALE
#################################################################################
1.1 Mathematisches
=================================================================================
1.1.1 Plots
---------------------------------------------------------------------------------
-Funktionen: y=f(x)
-Parametrisierte Funktionen: y=f(x,t);x=f(t)
-Daten
-viele Plots auf einmal durch einen Aufruf
-automatische Skalierung
1.1.2 Koordinaten
---------------------------------------------------------------------------------
-kartesische
-Polar-koordinaten mit korrekter Achsendarstellung (Ellipse)
1.1.3 Interpolation (Daten-Plots)
---------------------------------------------------------------------------------
-Kubische Splines
-Basic-Splines mit wählbarer Ordnung von 2 bis 9
1.1.4 Anderes
---------------------------------------------------------------------------------
-lineare Regression
-Ausgabe von interpolierten Daten in eine Datei (Datenplots)
-sortieren von Wertepaaren mit wählbarem Sortierkriterium (Datenplots)
-getrenntes Logarithmieren der x- und y-Achse mit getrennt wählbaren Basen
2, e oder 10
-Grid
1.2 Grafische Darstellung
=================================================================================
1.2.1 Art der Darstellung
---------------------------------------------------------------------------------
-Linien
-Punkte
-Balken
-Impulse
-frei wählbare Liniendicke
1.2.2 Art der Punktdarstellung
---------------------------------------------------------------------------------
-gefüllt
-ungefült
-mit Darstellung des Mittelpunktes
-12 Punktarten
-Punkte sind frei skalierbar
1.2.3 Art der Textdarstellung
---------------------------------------------------------------------------------
-OPlot besitzt einen Font, der frei skalierbar und frei drehbar ist
-4 Textarten:
-Überschrift
-Graph-Bezeichnung
-Label-Bezeichnung
-Beschriftung der Achsen
-für jede dieser Textarten läßt sich die Zeichendicke angeben
-für die Labels wird ein Platz von einer ganzen Zeile reserviert
1.2.4 Art der Achsendarstellung
---------------------------------------------------------------------------------
-zwei Beschriftungsmodi:
-Automatic: Angabe der Anzahl von Tick-Marks
-Custom: Angabe der Schrittweite beim Setzen von Tick-Marks
-die Achsendicke ist frei wählbar
1.3 Berechnungen
=================================================================================
-alle internen Berechnungen werden mit doppelter Genauigkeit durchgeführt
-OPlot bietet auch die Funktionen eines Taschenrechners
1.4 Das Interface
=================================================================================
1.4.1 Eingabe
---------------------------------------------------------------------------------
-Komando-Zeilen durch
-den Benutzer
-eine Batch-Datei (ARexx-Ersatz)
-ARexx
1.4.2 Ausgabe
---------------------------------------------------------------------------------
-Bildschirm
-Preferences-Drucker
-PDraw-Genies
-HPGL-Dateien
-EEPic-Dateien
-ILBM-Datei
-Recording von Kommando-Zeilen
1.4.3 Bildschirmmodi
---------------------------------------------------------------------------------
-Lores, Hires, SuperHires
-NoInterlace, Interlace
-Voller Overscan/Kein Overscan
1.4.4 Bildschirmgrößen
---------------------------------------------------------------------------------
-vordefinierte Standard-Screens
-Custom-Screens: Größe frei wählbar (Auto-Scrolling)
1.4.5 Bildschirmarten
---------------------------------------------------------------------------------
-Farben 2,8,16
-mit oder ohne Füll-Funktionen (benötigen zusätzlichen Chip-Speicher)
1.4.6 Anderes
---------------------------------------------------------------------------------
-die Anzahl gleichzeitig geöffneter Displays ist nur durch den Chip-
Speicher begrenzt
-automatische Anpassung von Texten und horizontalen/vertikalen Linien an
die unterschiedlichen Auflösungen
1.5 Anderes
=================================================================================
-Online-Hilfe
-99.98% absturzsicher
-speziell für den Amiga entwickelt
Diese Merkmale sollten doch überzeugen.
1.6 Einschränkungen
=================================================================================
-die Splines sind nicht parametrisiert, ich hatte aber auch noch kein
Daten-File, bei dem ich dies benötigt hätte
-Es empfielt sich immer die Auflösung Hires/Interlace zu verwenden
(besonders beim Ausdruck), denn 100%ig ist das Beibehalten des richtigen
Aspektes nicht möglich (alle nichtvertikalen/nichthorizontalen Linien
werden verzerrt)
-die Auflösung Lores/NoInterlace ist absolut nicht zu empfehlen, höchstens
zu Testzwecken
ab Version1.7:
-die meisten neuen Features sind nicht an die unterschiedlichen
Auflösungen angepaßt (meistens nicht einmal getestet) - also ist der
HiRes-Interlace-Modus bei aufwendigeren Grafiken UNEINGESCHRÄNKT IMMER
zu empfehlen.
2 START DES PROGRAMMS
#################################################################################
2.1 System-Anforderungen
=================================================================================
2.1.1 Betriebssystem
---------------------------------------------------------------------------------
OPlot benötigt OS2.0, es könnte sein, daß es auch mit KS1.3 funktioniert -
entwickelt wurde es unter OS3.0.
2.1.2 Libraries
---------------------------------------------------------------------------------
-asl.library (arp.library für KS1.3),
-mathtrans.-, mathieedoubbas.- und mathieedoubtrans.library
2.1.3 Stack-Speicher
---------------------------------------------------------------------------------
Da OPlot einige rekursive Prozeduren enthält und fast alle Variablen
auf dem Stack liegen, ist der Stack-Speicher-Bedarf ziemlich hoch -
dadurch ist aber das ausführbare Programm kleiner als zu erwarten wäre.
Das Minimum liegt bei 100000 Bytes - dieser Wert ist auch noch nie
überschritten worden (als Bedarf zur Laufzeit).
2.2 Start des Programms
=================================================================================
OPlot kann sowohl von der Workbench als auch vom CLI aus gestartet werden,
wobei letztere Möglichkeit vorteilhafter ist, da sie die Ausführung
von CLI-Befehlen aus OPlot heraus ermöglicht
2.2.1 Argumente
---------------------------------------------------------------------------------
OPlot akzeptiert drei Argumente (in beliebiger Reihenfolge):
- die Option "-r" - aktiviert den ARexx-Modus
- die Option "-o" - schaltet die Text-Ausgabe bei Verwendung des
ARexx-Modus EIN
- den Dateinamen eines Batchfiles, das beim Start ausgeführt wird;
so kann man oft benutzte Settings in eine solche Datei schreiben,
die dann nach dem Start sofort aktiv sind.
- die Option "?" ist nun auch vorhanden.
Beispiele:
"Oplot"
"Oplot -r"
"OPlot -r -o ram:settings"
"Oplot ram:settings"
Bemerkungen: Im reinen ARexx-Modus werden keinerlei Ausgaben (außer auf
die Plot-Displays und in Dateien) gemacht. Das betrifft die
Help-Texte ebenso wie z.B. Fehlermeldungen.
Mit der Option -o läßt sich dies abstellen - Eingaben von
der Tastatur sind aber dennoch nicht möglich.
3 DOKUMENTATION
#################################################################################
3.1 Das ARexx-Interface
=================================================================================
Hinweis: OPlot-Neulinge sollten diese Kapitel ZULETZT lesen.
---------------------------------------------------------------------------------
Das ARexx-Interface ist sehr simpel und effektiv zugleich: zwei Befehle sind
vorhanden:
- "PARSE" und
- "EXIT"
Wichtig: Der Port heißt "OPlot".
Syntax:
1. PARSE
Alle Eingaben, die man normalerweise von Hand macht, können hinter dem Befehl
PARSE angegeben werden und werden sofort ausgeführt.
Einschränkungen: Die (normalen) Befehle EXIT und QUIT sind wirkungslos.
Beispiele: (von der Shell aus)
rx "address 'OPlot' 'PARSE plot(0,sin(x),-2..3)'"
rx "address 'OPlot' 'PARSE set(ft=h)'"
rx "address 'OPlot' 'PARSE showd(1)'"
2. EXIT
Beendet das Programm.
Beispiel: (von der Shell aus)
rx "address 'OPlot' EXIT"
---------------------------------------------------------------------------------
Bemerkungen:
-OPlot kann nicht mehrfach zu gleicher Zeit gestartet werden (im ARexx-Modus)
-normalerweise werden alle Tastur-Ein- und Ausgaben unterdrückt. Somit
öffnet sich auch kein Fenster.
Das hat z.B. dann den Vorteil, wenn man eine grafische Benutzeroberfläche
für OPlot schreiben möchte, daß man nichts davon merkt, daß eigentlich
zwei (drei) Programme laufen .
Mit der Start-Option "-o" kann dies (z.B. zu Debug-Zwecken) verhindert
werden.
3.2 Die OPlot-Variablen
=================================================================================
OPlot-Variblen sind der Schlüssel zur Flexibilität des Programms. Sie können auf
zwei Wegen modifiziert werden:
-durch die Funktion SET (global) und
-während der Plot-Aufrufe (lokal)
Aufstellung der OPlot-Variablen:
3.2.1 HMODE
---------------------------------------------------------------------------------
Beschreibung: horizontale Auflösung eines OPlot-Displays
Werte: LORES (320)
HIRES (640)
SHIRES (1280)
CUSTOM (vom Benutzer definiert)
3.2.2 VMODE
---------------------------------------------------------------------------------
Beschreibung: vertikale Auflösung eines OPlot-Displays
Werte: NOLACE (256)
LACE (512)
CUSTOM (vom Benutzer definiert)
3.2.3 OVERSCAN
---------------------------------------------------------------------------------
Beschreibung: Overscan eines OPlot-Displays
Werte: TRUE (Voller Overscan ein)
FALSE (Overscan aus)
3.2.4 CUSTWIDTH
---------------------------------------------------------------------------------
Beschreibung: definiert die horizontale Custom-Auflösung (HMODE=CUSTOM)
Werte: 320-32000
3.2.5 CUSTHEIGHT
---------------------------------------------------------------------------------
Beschreibung: definiert die vertikale Custom-Auflösung (VMODE=CUSTOM)
Werte: 256-32000
3.2.6 DMODE
---------------------------------------------------------------------------------
Beschreibung: definiert den Typ eines OPlot-Displays
Werte: NORMAL (16 Farben, keine Füll-Funktionen)
EXTENDED ( 8 Farben, mit Füll-funktionen)
ADVANCED (16 Farben, mit Füll-Funktionen)
BLACK&WHITE ( 2 Farben, mit Füll-Funktionen)
3.2.7 OUTPUT
---------------------------------------------------------------------------------
Beschreibung: definiert, ob interpolierte Daten in eine Datei (OUTPUTFILE)
ausgegeben werden sollen
Werte: TRUE (schreibt)
FALSE (schreibt nicht)
3.2.8 OUTPUTFILE
---------------------------------------------------------------------------------
Beschreibung: Genereller Dateiname für die Ausgabe; werden interpolierte
Daten erzeugt, wird der Dateiname unverändert verwendet -
werden mit den Funktionen STARTOUTPUT und STOPOUTPUT
Batch-Files erzeugt, so werden diese numeriert
Werte: eine Zeichenkette, Keine '"'-Zeichen verwenden !
3.2.9 ANGLES
---------------------------------------------------------------------------------
Beschreibung: definiert, wie Winkel interpretiert werden sollen
Werte: RADIANS (Bogenmaß)
DEGREES (Grad)
3.2.10 XCOL
---------------------------------------------------------------------------------
Beschreibung: Nummer der Spalte eines Daten-Files, deren Werte als x-Werte
eingelesen werden sollen
Werte: 1-maxcol; maxcol=Anzahl der Spalten des Daten-Files
3.2.11 YCOL
---------------------------------------------------------------------------------
Beschreibung: Nummer der Spalte eines Daten-Files, deren Werte als y-Werte
eingelesen werden sollen
Werte: 1-maxcol; maxcol=Anzahl der Spalten des Daten-Files
3.2.12 XSORT
---------------------------------------------------------------------------------
Beschreibung: definiert, ob die eingelesenem Daten sortiert werden sollen;
Sortier-Kriterium: x-Werte
Werte: TRUE (Sortierung durchführen)
FALSE (keine Sortierung)
3.2.13 YSORT
---------------------------------------------------------------------------------
Beschreibung: definiert, ob die eingelesenen Daten sortiert werden sollen;
Sortier-Kriterium: y-Werte
Werte: TRUE (Sortierung durchführen))
FALSE (keine Sortierung)
3.2.14 AUTOCLEAR
---------------------------------------------------------------------------------
Beschreibung: definiert, ob die OPlot-Displays automatisch gelöscht werden,
bevor in sie neu gezeichnet wird
Werte: TRUE (Löschen durchführen)
FALSE (kein automatisches Löschen)
3.2.15 DRAWAXIS
---------------------------------------------------------------------------------
Beschreibung: definiert, ob die Achsen gezeichnet werden sollen
(sinnvoll bei mehrmaligen Plots in ein Display)
Werte: TRUE (zeichne die Achsen)
FALSE (zeichne keine Achsen)
3.2.16 DRAWGT
---------------------------------------------------------------------------------
Beschreibung: definiert, ob die Graph-Bezeichnung gezeichnet werden soll
(sinnvoll bei mehrmaligen Plots der gleichen Werte mit
unterschiedlichen Darstellungsmodi)
Werte: TRUE (zeichne sie)
FALSE (zeichne sie nicht)
3.2.17 GRAPHTITLE
---------------------------------------------------------------------------------
Beschreibung: definiert die Graphbezeichnung - normalerweise wird sie aus
dem mathematischen Ausdruck automatisch generiert
Werte: "Zeichenkette" (Werden keine '"'-Zeichen angeben, so werden
alle Leerzeichen entfernt und alle Buchstaben
in Großbuchstaben umgewandelt.)
3.2.18 TITLE
---------------------------------------------------------------------------------
Beschreibung: definiert die Überschrift
Werte: "Zeichenkette"
3.2.19 POLAR
---------------------------------------------------------------------------------
Beschreibung: definiert, ob Polar-Koordinaten verwendet werden sollen
Werte: TRUE (benutze Polarkoordinaten)
FALSE (benutze kartesische Koordinaten)
3.2.20 KEEPCHARSIZE
---------------------------------------------------------------------------------
Beschreibung: Bei der Verwendung von Custom-Screens werden normalerweise die
Zeichen in ihrer Größe an die Screen-Größe angepaßt; diese
Variable kann dies verhindern.
(Sinnvoll, wenn man sehr viele Tick-Marks verwenden möchte)
Werte: TRUE (behalte die Größe bei)
FALSE (passe die Größe an)
3.2.21 CBORDER
---------------------------------------------------------------------------------
Beschreibung: definiert, ob ein Custom-Border (ein von Benutzer definierter
rechteckiger Bildschirmausschnitt) verwendet werden soll
(Sinnvoll, wenn man mehrere Plots nebeneinander/untereinander
auf einem Display unterbringen möchte)
Werte: TRUE (Benutze den durch CBLEFT, CBRIGHT, CBTOP und CBBOTTOM
definierten Bereich)
FALSE (Benutze den ganzen Bildschirm)
3.2.22 CBLEFT
---------------------------------------------------------------------------------
Beschreibung: definiert die X-Koordinate der linken oberen Ecke des
Custom-Border (absolute Fenster-Koordinaten)
Werte: 10-maxval; maxval=Bildschirmbreite-100
3.2.23 CBTOP
---------------------------------------------------------------------------------
Beschreibung: definiert die Y-Koordinate der linken oberen Ecke des
Custom-Border
Werte: 10-maxval; maxval=Bildschirmhöhe-100
3.2.24 CBRIGHT
---------------------------------------------------------------------------------
Beschreibung: definiert die X-Koordinate der rechten unteren Ecke des
Custom-Border
Werte: (CBLEFT+100)..maxval; maxval=Bildschirmbreite-10
3.2.25 CBBOTTOM
---------------------------------------------------------------------------------
Beschreibung: definiert die Y-Koordinate der rechten unteren Ecke des
CUSTOM-Border
Werte: (CBTOP+100)..maxval; maxval=Bildschirmhöhe-10
3.2.26 TICKMODE
---------------------------------------------------------------------------------
Beschreibung: definiert die Art der Berechnung von Tick-Marks
Werte: AUTO (Berechnung mit Hilfe der Variablen XTICKS and YTICKS
-> Absolute Anzahl)
CUSTOM (Berechnung mit Hilfe der Variablen XTICKLEN and YTICKLEN
-> Absolute Schrittweite)
3.2.27 XTICKS
---------------------------------------------------------------------------------
Beschreibung: definiert die Anzahl der Tick-Marks auf der x-Achse
(TICKMODE=AUTO)
Werte: 3..10000
3.2.28 YTICKS
---------------------------------------------------------------------------------
Beschreibung: definiert die Anzahl der Tick-Marks auf der y-Ackse
(TICKMODE=AUTO)
Werte: 3..10000
3.2.29 XTICKLEN
---------------------------------------------------------------------------------
Beschreibung: definiert die Schrittweite beim Setzen von Tick-Marks auf der
x-Achse (TICKMODE=CUSTOM)
Werte: Reale Zahl größer Null
3.2.30 YTICKLEN
---------------------------------------------------------------------------------
Beschreibung: definiert die Schrittweite beim Setzen von Tick-Marks auf der
y-Ackse (TICKMODE=CUSTOM(
Werte: Reale Zahl größer Null
3.2.31 XLABEL
---------------------------------------------------------------------------------
Beschreibung: Bezeichnung der x-Achse
Werte: "Zeichenkette"
3.2.32 YLABEL
---------------------------------------------------------------------------------
Beschreibung: Bezeichnung der y-Achse
Werte: "Zeichenkette"
3.2.33 XLOGSCALE
---------------------------------------------------------------------------------
Beschreibung: definiert die Art der x-Achse
Werte: TRUE (logarithmische Achse)
FALSE (normale Achse)
3.2.34 YLOGSCALE
---------------------------------------------------------------------------------
Beschreibung: definiert die Art der y-Achse
Werte: TRUE (logarithmische Achse)
FALSE (normale Achse)
3.2.35 XLOGBASE
---------------------------------------------------------------------------------
Beschreibung: definiert die Basis des auf der x-Achse verwendeten Logarithmus
Werte: TEN (10.0)
E (2.718..)
TWO (2.0)
3.2.36 YLOGBASE
---------------------------------------------------------------------------------
Beschreibung: definiert die Basis des auf der y-Achse verwendeten Logarithmus
Werte: TEN (10.0)
E (2.718..)
TWO (2.0)
3.2.37 PCOUNT
---------------------------------------------------------------------------------
Beschreibung: definiert die Anzahl der Punkte, die
-berechnet werden sollen (Funktions- und Parameter-Plots)
-maximal eingelesen werden sollen (Daten-Plots)
Werte: 3..MAX(LONGINT)
3.2.38 BSPLINEORDER
---------------------------------------------------------------------------------
Beschreibung: gibt die Ordnung der Basic-Spleines an; je höher die Ordnung
ist, desto mehr entfernen sich die Splines von den Leitpunkten,
desto glatter verläuft aber die Kurve
(bei jeder Erhöhung der Ordnung verdoppelt sich die Rechenzeit)
Werte: 2..50
3.2.39 INTERKIND
---------------------------------------------------------------------------------
Beschreibung: gibt die Art der Interpolationsmethode für Datenfiles an
Werte: NONE (keine Interpolation) (default)
CSPLINE (Cubic Splines, sehr schnell. Diese Splines
gehen aber durch alle Original-Punkte, eignen
sich also nicht zum Glätten von Meßfehlern.)
BSPLINE (Basic Splines, gut zum Glätten)
3.2.40 INTERPOINTS
---------------------------------------------------------------------------------
Beschreibung: Anzahl der Punkte, die aus den eingelesenen Daten durch eine
Spline-Interpolation berechnet werden sollen
(kleine Werte bis 1000 empfohlen (Rechenzeit))
Werte: 3..MAX(LONGINT)
3.2.41 PLOTSTYLE
---------------------------------------------------------------------------------
Beschreibung: definiert die Art der grafischen Darstellung
Werte: LINES (Linien)
POINTS (Punkte)
IMPULSES (Impulse)
BOXES (Balken)
3.2.42 POINTTYPE
---------------------------------------------------------------------------------
Beschreibung: definiert die Punkt-Art (PLOTSTYLE=POINTS)
Werte: POINT (normaler Bildschirmpunkt)
CROSS (skalierbar) (Kreuz)
CROSS2 (skalierbar) (Kreuz um 45 Grad gedreht)
CIRCLE (skalierbar, füllbar) (Kreis)
CIRCLE2 (skalierbar, füllbar) (2 Kreise)
TRIANGLE1 (skalierbar, füllbar) (Dreieck)
TRIANGLE2 (skalierbar, füllbar) (Dreieck um 90 Grad gedreht)
TRINAGLE3 (skalierbar, füllbar) (Dreieck um 180 Grad gedreht)
TRIANGLE4 (skalierbar, füllbar) (Dreieck um 270 Grad gedreht)
BOX (skalierbar, füllbar) (Quadrat)
BOX2 (skalierbar, füllbar (Quadrat um 45 Grad gedreht)
STAR (skalierbar) (Stern)
STAR2 (skalierbar) (Stern um 45 Grad gedreht)
3.2.43 POINTMODE
---------------------------------------------------------------------------------
Beschreibung: definiert die Art der Darstellung von Punkten
Werte: FILLED (gefüllt - dazu muß das Display installierte
Füllfunktionen besitzen)
UNFILLED (ungefüllt)
DRAWPOINT (Der Mittelpunkt (der Punkt, an dem sich der
eigentliche Wert befindet)
wird zusätzlich durch einen Bildschirmpunkt
dargestellt)
3.2.44 POINTSIZE
---------------------------------------------------------------------------------
Beschreibung: definiert die absolute Punktgröße in Bildpunkten
Werte: 3..100
3.2.45 ATHICKNESS
---------------------------------------------------------------------------------
Beschreibung: definiert die absolute Breite der Null-Achsen in Bildpunkten
(Alle Thickness-Variablen sind bei der Verwendung von
übergroßen Displays nützlich)
Werte: 0..19
Bemerkungen: Die Thickness-Werte beeinflussen bei der ProDraw-Genie-Erzeugung
den Parameter "LineWeight" innerhalb von ProDraw; wird ein Wert
von 0 angegeben, so wird der Parameter "LineWeight" auf
"FineLine" gesetzt, innerhalb von OPlot wird Linienstärke 1
verwendet.
3.2.46 BTHICKNESS
---------------------------------------------------------------------------------
Beschreibung: definiert die absolute Breite des äußeren Rahmens um den
Graphen
Werte: 0..19
3.2.47 LTHICKNESS
---------------------------------------------------------------------------------
Beschreibung: definiert die absolute Breite der Linien bei der Darstellung
des Graphen (PLOTSTYLE=LINES)
Werte: 0..19
3.2.48 TITLECHARTHICKNESS
---------------------------------------------------------------------------------
Beschreibung: definiert die absolute Breite der Linien, aus denen die Zeichen
der Überschrift bestehen
Werte: 0..19
3.2.49 TICKCHARTHICKNESS
---------------------------------------------------------------------------------
Beschreibung: definiert die absolute Breite der Linien, aus denen die Zeichen
der Tick-Marks bestehen
Werte: 0..19
3.2.50 LABELCHARTHICKNESS
---------------------------------------------------------------------------------
Beschreibung: definiert die absolute Breite der Linien, aus denen die Zeichen
der Achsen-Bezeichnungen bestehen
Werte: 0..19
3.2.51 GTCHARTHICKNESS
---------------------------------------------------------------------------------
Beschreibung: definiert die absolute Breite der Linien, aus denen die Zeichen
der Graph-Bezeichnung bestehen
Werte: 0..19
3.2.52 CENTERXLABEL
---------------------------------------------------------------------------------
Beschreibung: definiert ob die x-Achsenbezeichnung zentiert werden soll
(wenn die Bezeichnung länger als 4 Zeichen ist (Funktion+Einheit),
sollte sie zentriert werden (besseres Aussehen))
Werte: TRUE (zentriere Achsenbezeichnung)
FALSE (setze die Achsenbezeichnung rechtsbündig)
3.2.53 CENTERXLABEL
---------------------------------------------------------------------------------
Beschreibung: definiert ob die y-Achsenbezeichnung zentiert werden soll
Werte: TRUE (zentriere Achsenbezeichnung)
FALSE (setze die Achsenbezeichnung an den oberen Rand)
3.2.54 FOUTPUT
---------------------------------------------------------------------------------
Beschreibung: definiert ob zusätzlich zum Plot externe Dateien erzeugt werden
sollen (siehe Abschnitt 5)
3.2.55 OUTFILENAME
---------------------------------------------------------------------------------
Beschreibung: Genereller Dateiname für die Ausgabe von externen Dateien,
die eigentlichen Dateien werden durchnummeriert - ein
Datei-Typ-Kürzel wird ebenfalls angehängt
Werte: eine Zeichenkette, Keine '"'-Zeichen verwenden !
3.2.56 FWIDTH
---------------------------------------------------------------------------------
Beschreibung: definiert die Breite des Plots (Inch) beim Datei-Export.
Werte: Reelle Zahl 4.0..48.0
3.2.57 FHEIGHT
---------------------------------------------------------------------------------
Beschreibung: definiert die Höhe des Plots in Zoll (Inch) beim Datei-Export.
Werte: Reelle Zahl 4.0..48.0
3.2.58 FXOFFSET
---------------------------------------------------------------------------------
Beschreibung: definiert die X-Koordinate der linken oberen Ecke des
Plots in Zoll (Inch) beim Datei-Export.
Werte: Reelle Zahl 0.0..48.0
3.2.59 FYOFFSET
---------------------------------------------------------------------------------
Beschreibung: definiert die Y-Koordinate der linken oberen Ecke des
Plots in Zoll (Inch) beim Datei-Export
Werte: Reelle Zahl 0.0..48.0
3.2.60 GRID
---------------------------------------------------------------------------------
Beschreibung: definiert, ob ein Raster in der Dichte der Tick-Marks unter
den Graphen gelegt werden soll.
Werte: TRUE
FALSE
3.2.61 FTYPE
---------------------------------------------------------------------------------
Beschreibung: definiert das Ausgabeformat für externe Dateien
Werte: PDRAW
HPGL
EEPIC
3.2.62 DRAWTICKCHARS
---------------------------------------------------------------------------------
Beschreibung: definiert, ob die Tick-Marks mit Zahlen beschriftet werden
sollen (ist manchmal nicht nötig)
Werte: TRUE
FALSE
3.3 Plot-Funktionen
=================================================================================
3.3.1 PLOT
---------------------------------------------------------------------------------
Beschreibung: diese Funktion plottet herkömmliche Funktionen der Form
y=f(x)
Aufruf: PLOT(<DisplayNummer>,<Mehrfach-Ausdruck>,xMin..xMax,...)
DisplayNummer: Nummer eines bereits geöffneten Displays oder
0 (automatisches Öffnen vor dem Plot) oder
v - kein Zeichnen auf einem Screen; nur
Erzeugung von Plot-Dateien (wenn eingestellt)
Mehrfach-Ausdruck: mindestens ein korrekter mathematischer Ausdruck in x
oder mehrere getrennt durch '..'
xMin..xMax: Definitionsbereich für x, der Konstanten und Operatoren
enthalten kann, z.b. "2/5..2*pi"
optionale Parameter:
<yMin..yMax> (definiert den y-Ausschnitt, der gezeichnet werden
soll, ansonsten wird der Graph auf die maximale
Bildschirmhöhe angepaßt, was auch bei Mehrfach-
Ausdrücken funktioniert)
plotstyle \
pointtype |
pointsize |
pointmode |
drawaxis |
title |
graphtitle \ diese OPlot-Variablen überschreiben während des
xlabel / Plots die globalen namensgleichen, nach dem Plot
ylabel | gelten wieder die letzteren
xticks |
yticks |
xlogscale |
ylogscale |
pcount /
Beispiele: plot(0,sin(x),-2..3)
plot(2,sin(x)..cos(x),-pi..3*pi/4,plotstyle=boxes)
plot(v,cos(3*x)+3*cos(x)..sin(3*x)+3*sin(x),0..pi,-4..4,pcount=1000)
3.3.2 PPLOT
---------------------------------------------------------------------------------
Beschreibung: diese Funktion plottet parametrisierte Funktionen der Form
y=f(x,t);x=f(t)
Aufruf: PPLOT(<DisplayNummer>,<Mehrfach-Ausdruck11>,<Mehrfach-Ausdruck2>,tMin..tMax,...)
DisplayNummer: Nummer eines bereits geöffneten Displays oder
0 (automatisches Öffnen vor dem Plot) oder
v - kein Zeichnen auf einem Screen; nur
Erzeugung von Plot-Dateien (wenn eingestellt)
Mehrfach-Ausdruck1: mindestens ein Ausdruck in x und t
Mehrfach-Ausdruck2: mindestens ein Ausdruck in t
tmin..tmax: Definitionsbereich für den Parameter t
optionale Parameter:
<xmin..xmax> (definiert den x-Auschnitt)
<ymin..ymax> (definiert den y-Auschnitt)
plotstyle
pointtype
pointsize
pointmode
drawaxis
title
graphtitle
xlabel
ylabel
xticks
yticks
xlogscale
ylogscale
pcount
Beispiele: pplot(0,9*cos(t)+4*cos(3*t),9*sin(t)-4*sin(3*t),0..2*pi)
pplot(v,9*cos(t)+4*cos(3*t)..9*cos(t),9*sin(t)-4*sin(3*t)..9*sin(t)..-4*sin(3*t),0..360)
pplot(1,sin(x)*t,cos(t),0..pi,-2..2,-3..3,plotstyle=points,pointtype=box)
Bemerkung: Hat der Mehrfach-Ausdruck die Ordnung n1, der Mehrfach-Ausdruck die
Ordnung n2, so werden n=n1*n2 Graphen erzeugt -
Autoscaling funktioniert auch hier.
(Das zweite Beispiel liefert 6 Graphen.)
3.3.3 PLOTDATA
---------------------------------------------------------------------------------
Beschreibung: diese Funktion plottet schließlich Daten
Aufruf: PLOTDATA(<DisplayNummer>,<Mehrfach-Ausdruck>,...)
DisplayNummer: Nummer eines bereits geöffneten Displays oder
0 (automatisches Öffnen vor dem Plot) oder
v - kein Zeichnen auf einem Screen; nur
Erzeugung von Plot-Dateien (wenn eingestellt)
Mehrfach-Ausdruck: mindestens ein Dateiname
Dateiname: gültiger Dateiname (relativ zum aktuellen Verzeichnis)
oder 'asl' (Dateiauswahlrequester).
optionale Parameter:
<xmin..xmax> (definiert den x-Auschnitt)
<ymin..ymax> (definiert den y-Auschnitt)
plotstyle
pointtype
pointsize
pointmode
drawaxis
title
graphtitle
xlabel
ylabel
xticks
yticks
xlogscale
ylogscale
pcount
xsort
ysort
xcol
ycol
Beispiele: plotdata(0,ram:data1)
plotdata(v,ram:data1..ram:data2..ram:data3,drawaxis=f)
plotd(0,ram:data4,xcol=2,ycol=3,title="DATA Plots")
plotdata(0,asl..asl..asl..asl,pcount=100)
3.4 Berechnende Funktionen
=================================================================================
3.4.1 CALC
---------------------------------------------------------------------------------
Beschreibung: diese Funktion berechnet mathematische Ausdrücke
Aufruf: CALC(<Ausdruck>)
<Ausdruck> (CALC( ) muß nicht angeben werden)
Beispiele: calc(sin(3*45)/34^555)
(34+667*668)/exp(8)
Hinweis: es können auch Konstanten ("c_a..c_z") verwendet werden, die
global definiert sind, z.B.
"c_a=3*Pi/Sqrt(2)
"plot(0,c_a*sin(x),0..Pi)"
Bemerkung: Beim Recording von Kommando-Zeilen werden automatisch
die durch diese Funktion gelieferten Ergebnisse als
Kommentare in die Datei eingefügt.
3.4.2 LINREG
---------------------------------------------------------------------------------
Beschreibung: diese Funktion führt eine Lineare Regression an Daten durch
Aufruf: LINREG(<Dateiname>,<Anstieg>,<Absolutglied>)
<Dateiname> - gültiger Dateiname ohne Anführungszeichen oder
"ASL"
<Anstieg> - gibt die OPlot-Konstante an, in der der berechnete
Anstieg zurückgegeben werden soll
<Absolutglied> - dito für das Absolutglied
Beispiele: LinReg(ram:data1,c_a,c_b)
LinReg(asl,c_m,c_n)
Anwendung: Darstellung der Daten mit Regressionsgerade
1. "LinReg(ram:data2,c_m,c_n)"
Darauf folgt etwa folgende Ausgabe:
"C_M = 5.7966779
C_N = -2.889009
DATA-Ranges: \
XMIN= -2.67655 | Das sind die vom Programm automatisch
XMAX= 56.66331 > ermittelten Werte-Bereiche
YMIN= 13.5776 |
YMAX= 47.6777" /
2. "set(plotstyle=point)
plotd(0,ram:data2,-3..57,12..48)" (Runden ist angebracht)
3. "set(plotstyle=lines)
plot(1,c_m*x+c_n,-3..57,12..48)" (Regressionsgerade)
Einfacher geht's kaum !
3.5 Display-bearbeitende Funktionen
=================================================================================
3.5.1 OPENDISPLAY
---------------------------------------------------------------------------------
Beschreibung: Öffnet ein spezifiertes Display und gibt die DisplayNummer
zurück, die von den meisten anderen Funktionen als Argument
verlangt wird
Aufruf: OPENDISPLAY(<hmode>,<vmode>)
Beispiele: opendisplay(hires,lace)
opend(custom,custom)
3.5.2 CLOSEDISPLAY
---------------------------------------------------------------------------------
Beschreibung: schließt spezifiziertes Display
Bemerkung: Wird als Parameter 0 angegeben, so werden alle geöffneten
Displays geschlossen.
Bei der Beendigung des Programms werden automatisch alle
noch offenen Displays geschlossen.
Aufruf: CLOSEDISPLAY(<DisplayNummer>)
Beispiele: closedisplay(3)
close(0)
3.5.3 ABOUTDISPLAY
---------------------------------------------------------------------------------
Beschreibung: zeigt einige Informationen über ein Display an
Aufruf: ABOUTDISPLAY(<DisplayNummer>)
Beispiele: aboutdisplay(8)
aboutd(4)
3.5.4 SHOWDISPLAY
---------------------------------------------------------------------------------
Beschreibung: bringt ein Display in den Vordergrund (nützlich in Batch-Files)
Aufruf: SHOWDISPLAY(<DisplayNummer>)
Beispiele: showdisplay(3)
show(8)
3.5.5 BACKDISPLAY
---------------------------------------------------------------------------------
Beschreibung: brint ein Display in den Hintergrund (Batch-Files)
Aufruf: BACKDISPLAY(<DisplayNummer>)
Beispiele: backdisplay(7)
back(5)
3.5.6 SAVEDISPLAY
---------------------------------------------------------------------------------
Beschreibung: speichert ein Display als ILBM-Datei ab
Aufruf: SAVEDISPLAY(<DisplayNummer>,<Dateiname>)
Dateiname: ein korrekter Dateiname oder
'ASL' (öffnen eines Dateiauswahlrequesters)
Beispiele: savedisplay(2,ram:test)
save(3,asl)
3.5.7 PRINT
---------------------------------------------------------------------------------
Beschreibung: druckt ein Display aus
Aufruf: PRINT(<DisplayNummer>)
Bemerkung: Bevor das Display gedruckt wird, werden alle unnützen Ränder
etc. beseitigt und die Farben werden in Schwarz-Weiß konvertiert
(Ausgabe auf einem Farbdrucker kann über den Umweg DPaint
erfolgen - ist aber bloße Spielerei).
Mit dem Programm "Prefs:PrinterGFX" sollte folgendes
eingestellt worden sein.
IMAGE: <POSITIVE>"
SHADE: <BLACK&WHITE>"
LIMITS: <IGNORE>"
CENTER PICTURE: <Yes>"
DENSITY: <5> (guter Wert bei einem Tintenstrahler)" .
Beispiel: print(8)
3.6 Andere Funktionen
=================================================================================
3.6.1 LOGIN
---------------------------------------------------------------------------------
Beschreibung: fragt nach dem User-Namen (wird in die Datenfiles geschrieben)
3.6.2 SET
---------------------------------------------------------------------------------
Beschreibung: dies ist eine der wichtigsten Funktionn von OPlot; mit ihr
können die globalen Variablen verändert
Aufruf: SET(<Variable>=<Wert>
Beispiele: set(hmode=hires)
set(hmode=custom)
set(vmode=nolace)
set(vmode=custom)
set(overscan=true)
set(overscan=t)
set(custwidth=1000)
set(custheight=2000)
set(dmode=normal)
set(dmode=n)
set(dmode=a)
set(output=false)
set(outputfile=ram:cont2)
set(angles=deg)
set(angles=r)
set(xcol=2)
set(ycol=1)
set(xsort=t)
set(ysort=f)
set(autoclear=t)
set(drawaxis=t)
set(drawgt=f)
set(graphtitle="sin(7x)+5")
set(title="SPLINES - Contouring data")
set(polar=t)
set(keepcharsize=f)
set(cborder=true)
set(cbleft=20)
set(cbtop=20)
set(cbright=1000)
set(cbbottom=400)
set(tickmode=cust)
set(tickmode=au)
set(xticks=12)
set(yticks=8)
set(xticklen=2.0)
set(yticklen=1.5)
set(xlabel="t")
set(ylabel="ln(t)")
set(xlogscale=t)
set(ylogscale=f)
set(xlogbase=ten)
set(ylogbase=two)
set(bsplineorder=5)
set(plotstyle=points)
set(plotstyle=impulses)
set(pointtype=box2)
set(pointtype=circle2)
set(pointmode=filled)
set(pointmode=d)
set(pointsize=14)
set(centerxlabel=true)
set(AThickness=5)
3.6.3 SHOW
---------------------------------------------------------------------------------
Beschreibung: zeigt den Wert einer OPlot-Variablen an
Aufruf: SHOW(<Variable>)
<Variable> ( SHOW() muß nicht angeben werden)
Beispiele: show(xlabel)
xlogbase
hmode
3.6.4 EXECUTE
---------------------------------------------------------------------------------
Beschreibung: führt eine Batch-Datei aus (ARexx-Ersatz)
Aufruf: EXECUTE(<Dateiname>)
Dateiname: ein korrekter Dateiname oder
'ASL' (FileRequester)
Bemerkung: Abbruch mit <Ctrl-C> ist möglich, führt aber zur Beendigung des
Programms
Beispiele: execute(ram:test.bat)
exec(asl)
3.6.5 !
---------------------------------------------------------------------------------
Beschreibung: führt eine DOS-Kommando-Zeile aus
Aufruf: !<DOS-Kommando-Zeile>
Bemerkung: Damit diese Funktion auch Ausgaben liefern kann (!dir ram:),
muß OPlot von der Shell aus gestartet worden sein.
Der CD-Befehl (z.B. !cd ram:) wird abgefangen, da er wirkunglos
ist.
(Siehe 3.6.6)
Beispiele: !run c:ed
!makedir hd0:tmp
3.6.6 CD
---------------------------------------------------------------------------------
Beschreibung: ändert das aktuelle Verzeichnis
Aufruf: CD <Verzeichnis> oder CD asl
Beispiele: cd ram:t
cd asl
3.6.7 AVAILMEM
---------------------------------------------------------------------------------
Beschreibung: zeigt den noch zur Verfügung stehenden Systemspeicher an
Aufruf: AVAILMEM
3.6.8 ?
---------------------------------------------------------------------------------
Beschreibung: Online-Help-Funktion
Aufruf: ?<OPlot-Funktion>
Beispiele: ?plot
?set
3.6.9 HELP
---------------------------------------------------------------------------------
Beschreibung: Generelle Hilfe
Aufruf: HELP
3.6.10 EXAMPLE
---------------------------------------------------------------------------------
Beschreibung: zeigt einige Beispiele zu einer spezifizierten OPlot-Funktion an
Aufruf: EXAMPLE(<OPlot-Funktion>)
Beispiele: example(show)
example(plotdata)
3.6.11 PAUSE
---------------------------------------------------------------------------------
Beschreibung: Wartet eine spezifizierte Anzahl von Sekunden (Batch-Files)
Aufruf: PAUSE(<Anzahl von Sekunden>)
Beispiel: pause(8)
3.6.12 RESPONSE
---------------------------------------------------------------------------------
Beschreibung: Wartet auf das Drücken der <RETURN>-Taste. (Batch-Files)
Aufruf: RESPONSE
3.6.13 STARTOUTPUT
---------------------------------------------------------------------------------
Beschreibung: Startet das Kommando-Zeilen-Recording, d.h. alle ab dem Aufruf
dieser Funktionen eingegeben Kommandozeilen werden in
eine Datei geschrieben (<OUTPUTFILE.Nummer>), die dann später
als Batch-Datei verwendet werden kann
Aufruf: STARTOUTPUT
3.6.14 STOPOUTPUT
---------------------------------------------------------------------------------
Beschreibung: beendet das Kommando-Zeilen-Recording und setzt die Nummer am
Dateinamen hoch, sodaß bei nochmaligem Aufruf von
STARTOUTPUT die alte Datei erhalten bleibt.
Bemerkung: diese Funktion wird bei der Beendigung des Programms automatisch
aufgerufen
Aufruf: STOPOUTPUT
3.6.15 ABOUT
---------------------------------------------------------------------------------
Beschreibung: zeigt die aktuelle Versionsnummer und die Hardware-
Voraussetzungen von OPlot an
Aufruf: ABOUT
3.6.16 EXIT
---------------------------------------------------------------------------------
Beschreibung: beendet OPlot
Aufruf: EXIT oder
QUIT
3.6.17 MACRO
---------------------------------------------------------------------------------
Beschreibung: Diese Funktion stellt einige oft benutzte Settings bereit
Aufruf: MACRO für Menü oder
MACRO <MenüEintrag>
4 DATEI-EXPORT
#################################################################################
4.1 PDraw-Genies
=================================================================================
Bemerkungen: ProDraw-Genies sind ARexx-Dateien, die entweder von der Shell
oder direkt von Professional Draw aus ausgeführt werden können.
Die von OPlot erzeugten Genies erzeugen in PDraw fast identische
Bilder wie die von OPlot direkt erzeugten - alle Linien bleiben
aber anders als bei OPlot in ihrer Vektorform bestehen.
Dadurch ergeben sich u.a. folgende Möglichkeiten:
-kantenfreier High-End-Ausdruck
-verlustfreie Skalierung, Rotation u.a.
-PDraw-Clips lassen sich in gänginge DTP-Programme laden .
Einschränkungen: keine
Bemerkungen2: Titel und Label sollten bei der Verwendung von Genies nicht von
von OPlot erzeugt werden; es empfielt sich vielmehr diese von
Hand unter Benutzung hochwertiger CG-Fonts zu plazieren.
Nach dem Abschluß des Zeichenvorgangs sollten alle Linien
etc. unter Benutzung der Funktion "select all" gruppiert werden.
Die verwendete Punktzahl sollte 1000 Punkte nicht überschreiten,
anderenfalls ist es effizienter (Aufwand/Leistung), eine große
Bitmap (3000X3000 Punkte) zu erzeugen und direkt auszudrucken.
Bei jedem Plot-Aufruf wird eine neue Datei erzeugt (diese werden
durchnummeriert), dies dient u.a. der Übersichtlichkeit.
ProDraw-Import: Um nun das Bild in PDraw zeichnen zu lassen müssen folgende
Voraussetzungen erfüllt sein:
- die Programme "PDraw" und
- "sys:system/RexxMast" müssen gestartet worden sein,
- der Befehl "rx" muß sich im aktuellen Suchpfad befinden.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Handelt es sich um einzelne Datei (ein einmaliger Plot-Aufruf),
so kann das Script mit
"rx <Dateiname>", z.B. "rx ram:OPout.PD1", ausgeführt werden.
Das Zeichnen kann nun bis zu fünf Minuten dauern, erscheint in
der Shell wieder das Prompt, so kann das Bild sofort durch
Drücken der <F1>-Taste in ProDraw ausgedruckt werden.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Hat man mehrere Dateien, so empfielt es sich, eine Batchdatei
zu schreiben.
Beispiel:
Folgende Anweisungsfolge in OPlot
"set(fout=t)"
"set(ftype=p)"
"set(pcount=40)"
"plot(0,sin(x),-2..3,plotstyle=p,drawaxis=f)"
"plot(1,sin(x),-2..3,plotstyle=l,drawaxis=f)"
"plot(1,sin(x),-2..3,plotstyle=i)"
führt zur Erzeugung der Dateien
"ram:OPout.PD1", "ram:OPout.PD2" und "ram:Opout.PD3".
Nun sollte man folgende Batch-Datei schreiben:
"rx ram:Opout.PD1"
"rx ram:Opout.PD2"
"rx ram:Opout.PD3"
und diese mit "execute <Batch-Datei-Name>" ausführen.
Nun dauert das Zeichnen entsprechend länger - deshalb ist
es nützlich, eine Batch-Datei zu verwenden.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Eine andere Möglichkeit besteht darin, die einzelnen Dateien
zu verbinden; z.B.:
unter Verwendung der im obigen Beispiel verwendeten Dateien:
"join ram:OPout.PD1 ram:OPout.PD2 ram:OPout.PD3 as ram:OplotPD"
"rx ram:OplotPD",
wobei die Reihenfolge beim Verbinden keine Rolle spielt.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Hinweis: Der Zeichenvorgang kann jederzeit abgebrochen werden; es
muß das Programm "HI" (meistens in "sys:rexxc") gestartet
werden.
Bemerkungen3: Das ganze scheint etwas aufwendig - einfacher wäre es doch
ProDraw-Clips gleich von Oplot aus zu erzeugen.
Einfacher - aber nicht flexibel.
Die erzeugten ProDraw-Genies lassen sich nämlich einfach
in alle möglichen Formate umwandeln (von kleinen selbst-
geschriebenen Utilities oder Arexx/Editor-Scripts), da
sie in verständlicher Syntax Befehle zum Zeichnen von
Linien, Kreisen und Rechtecken - sonst nichts - enthalten.
4.2 HPGL-Dateien
=================================================================================
Dieses Format macht es jedem Benutzer möglich, kantenfreie Ausdrucke zu
erzielen - auch wenn er keinen Plotter besitzt - über Benutzung des
PLT-Devices.
Außerdem gibt es Programme, die das HPGL-Format in das Postscript-Format
umwandeln (siehe 4.4).
BENUTZUNG DES PLT:-DEVICES
---------------------------------------------------------------------------------
Zuerst sind alle benötigten Dateien wie in der Anleitung 'PLT_doc' beschrieben
in die richtigen Verzeichnisse zu kopieren, und das PLT:-Device ist zu "mounten".
Um nun den Plot zu Papier zu bringen genügt die Kommandozeile
"copy <HPGL-Datei> plt:".
Um eine angenäherte Kompatibilität zu den OPlot-Liniendicken herzustellen ist
die MountList bzw. die Datei 'devs:dosdrivers/PLT' wie folgt zu modifizieren.
/* Mount Entry for HP Plotter driver for WB Printer */
Handler = l:plt-handler
Startup = P/000-1/000-2/000-3/000-4/000-5/000-6/000-7/000-8
Stacksize = 5000
Priority = 5
GlobVec = 1
Es empfielt sich, zwei PLT:-Devices zu verwenden, eines welches die Plots
als Previews auf einem Screen darstellt und ein anderes, welches die
Ausgabe zum Drucker ausführt.
Für das Preview-PLT:-Device (ich nenne es PLTP:) ist etwa folgender Eintrag
in der Mountlist einzutragen:
/* Mount Entry for HP Plotter driver for WB Printer (Preview only) */
Handler = l:plt-handler
Startup = SP/000-1/000-2/000-3/000-4/000-5/000-6/000-7/000-8
Stacksize = 5000
Priority = 5
GlobVec = 1 .
Von OS3.0-Besitzern muß eine Datei namens "devs:dosdrivers/PLTP" vorangestellten
Inhalts erzeugt werden.
Nun kann man fast nach dem WYSIWYG-Prinzip arbeiten:
"copy <HPGL-Datei> pltp:" - ist das Ergebnis zufriedenstellend, so kann
es zu Papier gebracht werden:
"copy <HPGL-Datei> plt:".
4.3 EEPic-Dateien
=================================================================================
Dieses Format macht die Einbindung von Plots in LaTeX möglich.
Einschränkungen: Es sind nur drei unterschiedliche Liniendicken vorhanden,
die vom Programm (PDG2EEPic) selbst ausgewählt werden.
Die Qualität von Ellipsen genügt nicht absolut professionellen
Ansprüchen.
Vorteile: Das Aufwand/Leistungs-Verhältnis ist unerreicht gut:
Die Qualität ist viel besser als beim direkten Bitmap-Ausdruck,
die mehr benötigte Zeit (Konvertieren, Compilieren, Ausdrucken)
beträgt bei guter Organisation nicht mehr als 5 min.
BENUTZUNG DER ERZEUGTEN SCRIPTS
---------------------------------------------------------------------------------
VORAUSSETZUNGEN
- Hardware (absolutes Minimum):
HD: 5 MB
RAM: 3 MB
-Software
PasTeX, MetaFont, ShowDVI, DVIPrint, SpecialHost
-Makros
LaTeX, EPic, EEPic
Die von OPlot erzeugten EEPic-Dateien sind vollständige Dokumente, d.h.,
sie können sofort durch
"virtex &glplain <EEPicfile>"
compiliert werden.
Als Ergebnis erhält man eine Seite, die die Grafik enthält. Diese kann
mit DVIPrint ausgedruckt werden nachdem das Programm Specialhost
gestartet wurde.
Hinweis: Das Programm SpecialHost muß beim Verarbeiten des DVI-Files
(durch ShowDVI oder DVIPrint) IMMER im Hintergrund laufen -
sonst ist außer der Seitenzahl nichts zu sehen.
Die Bilder können natürlich auch innerhalb von richtigen Dokumenten verwendet
werden.
Dazu müssen alle Zeilen, die außerhalb des picture-Blocks stehen, entfernt
werden (die ersten drei und die letzte). Skalierungen werden durch Veränderung
der Einheit des Koordinatensystems erreicht:
"\setlength{\unitlength}{0.6in}"
^
4.4 Postscript-Dateien
=================================================================================
Es gibt ein Programm namens "HPGL2PS", mit dem man die von OPlot erzeugten
HPGL-Dateien in Postscript-Files umwandeln kann.
Dies ist besonders für Besitzer eines HP Deskjet nützlich, die sich dann
nur noch "Ghostscript" besorgen müssen, um die Files auszudrucken.
Somit sollte sich jetzt endgültig jedes Ausgabegerät (sei es virtuell
oder nicht) für OPlot nutzen lassen.
5 MATHEMATISCHE FUNKTIONEN UND KONSTANTEN
#################################################################################
1. Vordefinierte Konstanten *)
'pi': 3.141592653589793
'ee': 2.718281828459045
2. Benutzerdefinierte Konstanten
'c_a', 'c_b', 'c_c', ... , 'c_z'
3. Operatoren
'+','-', '*', '/', '^'
4. Funktionen
'sin(x)', 'cos(x)', 'tan(x)', 'cot(x)'
'asn(x)', 'acs(x)', 'atn(x)', 'act(x)'
'sinh(x)', 'cosh(x)', 'tanh(x)', 'coth(x)'
'asnh(x)', 'acsh(x)', 'atnh(x)', 'acth(x)'
'ln(x)', 'log(x)'
'exp(x)'
'sqrt(x)'
'abs(x)', 'sign(x)'
'int(x)' (Rundet das Argument)
'rnd(x)' (Liefert Zufallszahl zwischen 0 und int(x))
Konvention:
sqrt(x)=0 für x<0 (ist für die meisten Anwendungen (Phasenraum) am günstigsten)
6 ÜBER OPLOT
#################################################################################
OPlot ist ein Programm, das während der praktischen Anwendung entwickelt
wird, d.h. wenn während der Arbeit ein Fehler entdeckt wird oder ein
Feature fehlt, so wird der Fehler sofort beseitigt bzw. das Feature
implementiert.
Anwendung findet es bei mir im Rahmen eines physikalischen Praktikums, wo
es sich gegen Konkurrenten wie "MathCAD" und "Axum" durchzusetzen hatte.
Das Programm ist vollständig in OBERON-2 geschrieben, die Länge des Quelltextes
beträgt etwa 16000 Zeilen (520 K).
---------------------------------------------------------------------------------
COPYRIGHT
Alle Prozeduren und Algorithmen habe ich selbst entworfen bzw. habe auf
u.g. Literatur zurückgegriffen - mit einer Ausnahme: die WriteILBM-Prozedur
ist von Fridtjof Siebert geschrieben worden (IFFSupport1.8). (Danke - denn
mir ist es bis heute nicht gelungen eine so schnelle Kompressionsroutine
(in OBERON) zu schreiben.)
Also hat niemand außer mir und F. Siebert irgendwelche Rechte an OPlot.
Solange ich OPlot nicht kommerziell vertreibe habe ich allein Rechte an
diesem Programm.
Einige Ideen beim Design des User-Interfaces habe ich von MapleV übernommen.
LITERATURVERZEICHNIS
Luther, Wolfram:
Mathematische Grundlagen der Computergrafik/
Wolfram Luther; Martin Ohsmann.- 2., verb. Aufl.-
Braunschweig; Wiesbaden: Vieweg, 1989
Bronstein, Il'ja Nikolaevic:
Taschenbuch der Mathematik/I.N. Bronstein;
K.A. Semendjajew. Hrsg. von G.Grosche, V. Ziegler u. D.Ziegler. - 24.Aufl.
Leipzig: BSB Teubner, 1989,- XII, 840 S.: 390 Abb.
Gzella, Holger:
AMIGA-Grafik-Programmierung: vollständige Dokumentation der
Hard- und Software für Amiga-Grafik/ Holger Gzella.-
Haar bei München: Markt-u.-Technik-Verl., 1990
7 QUELLEN UNTERSTÜTZENDER SOFTWARE
#################################################################################
Alle Informationen beziehen sich auf das Aminet,
z.B. Kaiserlautern 131.246.9.95:
-PLT-Device und HPGL2PS:
Pfad: pub/aminet/misc/sci/MultiPlot.lha oder
pub/aminet/misc/math/MultiPlot.lha
Bem.: Multiplot ist auch ein Plot-Programm (mit Soundausgabe (!)), das
durchaus für Computereinsteiger zu empfehlen ist.
In diesem Archiv befinden sich aber auch die besagten Dateien.
-GhostScript:
Pfad: pub/aminet/util/gnu/ags-261.lha
^
so ähnlich
---------------------------------------------------------------------------------
-PasTeX: ACHTUNG: Vor kurzem ist eine neue (Beta)-Version von
PasTeX erschienen, wovon auf jeden Fall das Programm
"SpecialHost" interessant ist.
Die Quelle ist mir leider unbekannt, aber in Passau im Aminet
wird es schon zu finden sein.
8 COPYRIGHTS
#################################################################################
Professional Draw V3.0 ("ProDraw", "PDraw") - Copyright © 1993 by GoldDisk Inc.
MapleV - Copyright © 1981-1990 by the University of Waterloo.
MAPLE is a registered trademark of Waterloo Maple Software.
ShowDVI, DVIPrint - Copyright © 199? by Georg Heßmann
See the PasTeX-Docs for more information.
---------------------------------------------------------------------------------
A.Maschke - 22-06-94