home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 7 / FreshFishVol7.bin / new / misc / sci / oplot / oplot.dok < prev    next >
Text File  |  1994-06-22  |  76KB  |  1,977 lines

  1. #################################################################################
  2. #                                                                               #
  3. #                      OPlotV1.99b- Document-File (german)                      #
  4. #                                                                               #
  5. #                   ©1993 by A.Maschke, all rights reserved.                    #
  6. #                                                                               #
  7. #-------------------------------------------------------------------------------#                                 
  8. #                                                                               #
  9. #               Verbesserungsvorschläge, Fehlermeldungen,... an:                #
  10. #                                                                               #
  11. #                                  Andreas Maschke                              #
  12. #                                  Zenkerstraße 5                               #
  13. #                                06108 Halle/Saale                              #
  14. #                                                                               #
  15. #                              Telephon: 034/ 5170331                           #
  16. #                                                                               #
  17. #                                    (GERMANY)                                  #
  18. #                                                                               #
  19. #################################################################################
  20.  
  21. *********************************************************************************
  22. *                                     INHALT                                    *
  23. *********************************************************************************
  24. *                                                                               *
  25. * 0 EINFÜHRUNG ---------------------------------------------------------------- *
  26. * 0.1 Shareware/Updates ------------------------------------------------------- *
  27. * 1 LEISTUNGSMERKMALE --------------------------------------------------------- *
  28. *  1.1 Mathematisches --------------------------------------------------------- *
  29. *   1.1.1 Plots --------------------------------------------------------------- *
  30. *   1.1.2 Koordinaten --------------------------------------------------------- *
  31. *   1.1.3 Interpolation (Daten-Plots) ----------------------------------------- *
  32. *   1.1.4 Anderes ------------------------------------------------------------- *
  33. *  1.2 Graphische Darstellung ------------------------------------------------- *
  34. *   1.2.1 Art der Darstellung ------------------------------------------------- *
  35. *   1.2.2 Art der Punktdarstellung -------------------------------------------- *
  36. *   1.2.3 Art der Textdarstellung --------------------------------------------- *
  37. *   1.2.4 Art der Achsendarstellung ------------------------------------------- *
  38. *  1.3 Berechnungen ----------------------------------------------------------- *
  39. *  1.4 Das Interface ---------------------------------------------------------- *
  40. *   1.4.1 Eingabe ------------------------------------------------------------- *
  41. *   1.4.2 Ausgabe ------------------------------------------------------------- *
  42. *   1.4.3 Bildschirmmodi ------------------------------------------------------ *
  43. *   1.4.4 Bildschirmgrößen ---------------------------------------------------- *
  44. *   1.4.5 Bildschirmarten ----------------------------------------------------- *
  45. *   1.4.6 Anderes ------------------------------------------------------------- *
  46. *  1.5 Anderes ---------------------------------------------------------------- *
  47. *  1.6 Einschränkungen -------------------------------------------------------- *
  48. * 2 START DES PROGRAMMS ------------------------------------------------------- *
  49. *  2.1 System-Anfordungen ----------------------------------------------------- *
  50. *   2.1.1 Betriebssystem ------------------------------------------------------ *
  51. *   2.1.2 Libraries ----------------------------------------------------------- *
  52. *   2.1.3 Stack-Speicher ------------------------------------------------------ *
  53. *  2.2 Start des Programms ---------------------------------------------------- *
  54. *   2.2.1 Argumente ----------------------------------------------------------- *
  55. * 3. DOKUMENTATION ------------------------------------------------------------ *
  56. *  3.1  Die User-Modi --------------------------------------------------------- *
  57. *  3.1.1   Das Paßwort -------------------------------------------------------- *
  58. *  3.2  Die OPlot-Variablen --------------------------------------------------- *
  59. *   3.2.1  HMODE -------------------------------------------------------------- *
  60. *   3.2.2  VMODE -------------------------------------------------------------- *
  61. *   3.2.3  OVERSCAN ----------------------------------------------------------- *
  62. *   3.2.4  CUSTWIDTH ---------------------------------------------------------- *
  63. *   3.2.5  CUSTHEIGHT --------------------------------------------------------- *
  64. *   3.2.6  DMODE -------------------------------------------------------------- *
  65. *   3.2.7  OUTPUT ------------------------------------------------------------- *
  66. *   3.2.8  OUTPUTFILE --------------------------------------------------------- *
  67. *   3.2.9  ANGLES ------------------------------------------------------------- *
  68. *   3.2.10 XCOL --------------------------------------------------------------- *
  69. *   3.2.11 YCOL --------------------------------------------------------------- *
  70. *   3.2.12 XSORT -------------------------------------------------------------- *
  71. *   3.2.13 YSORT -------------------------------------------------------------- *
  72. *   3.2.14 AUTOCLEAR ---------------------------------------------------------- *
  73. *   3.2.15 DRAWAXIS ----------------------------------------------------------- *
  74. *   3.2.16 DRAWGT ------------------------------------------------------------- *
  75. *   3.2.17 GRAPHTITLE --------------------------------------------------------- *
  76. *   3.2.18 TITLE -------------------------------------------------------------- *
  77. *   3.2.19 POLAR -------------------------------------------------------------- *
  78. *   3.2.20 KEEPCHARSIZE ------------------------------------------------------- *
  79. *   3.2.21 CBORDER ------------------------------------------------------------ *
  80. *   3.2.22 CBLEFT ------------------------------------------------------------- *
  81. *   3.2.23 CBTOP -------------------------------------------------------------- *
  82. *   3.2.24 CBRIGHT ------------------------------------------------------------ *
  83. *   3.2.25 CBBOTTOM ----------------------------------------------------------- *
  84. *   3.2.26 TICKMODE ----------------------------------------------------------- *
  85. *   3.2.27 XTICKS ------------------------------------------------------------- *
  86. *   3.2.28 YTICKS ------------------------------------------------------------- *
  87. *   3.2.29 XTICKLEN ----------------------------------------------------------- *
  88. *   3.2.30 YTICKLEN ----------------------------------------------------------- *
  89. *   3.2.31 XLABEL ------------------------------------------------------------- *
  90. *   3.2.32 YLABEL ------------------------------------------------------------- *
  91. *   3.2.33 XLOGSCALE ---------------------------------------------------------- *
  92. *   3.2.34 YLOGSCALE ---------------------------------------------------------- *
  93. *   3.2.35 XLOGBASE ----------------------------------------------------------- *
  94. *   3.2.36 YLOGBASE ----------------------------------------------------------- *
  95. *   3.2.37 PCOUNT ------------------------------------------------------------- *
  96. *   3.2.38 BSPLINEORDER ------------------------------------------------------- *
  97. *   3.2.39 INTERKIND ---------------------------------------------------------- *
  98. *   3.2.40 INTERPOINTS -------------------------------------------------------- *
  99. *   3.2.41 PLOTSTYLE ---------------------------------------------------------- *
  100. *   3.2.42 POINTTYPE ---------------------------------------------------------- *
  101. *   3.2.43 POINTMODE ---------------------------------------------------------- *
  102. *   3.2.44 POINTSIZE ---------------------------------------------------------- *
  103. *   3.2.45 ATHICKNESS --------------------------------------------------------- *
  104. *   3.2.46 BTHICKNESS --------------------------------------------------------- *
  105. *   3.2.47 LTICKNESS ---------------------------------------------------------- *
  106. *   3.2.48 TITLECHARTHICKNESS ------------------------------------------------- *
  107. *   3.2.49 TICKCHARTHICKNESS -------------------------------------------------- *
  108. *   3.2.50 LABELCHARTHICKNESS ------------------------------------------------- *
  109. *   3.2.51 GTCHARTHICKNESS ---------------------------------------------------- *
  110. *   3.2.52 CENTERXLABEL ------------------------------------------------------- *
  111. *   3.2.53 CENTERYLABEL ------------------------------------------------------- *
  112. *   3.2.54 FOUTPUT ------------------------------------------------------------ *
  113. *   3.2.55 OUTFILENAME--------------------------------------------------------- *
  114. *   3.3.56 FWIDTH ------------------------------------------------------------- *
  115. *   3.3.57 FHEIGHT ------------------------------------------------------------ *
  116. *   3.3.58 FXOFFSET ----------------------------------------------------------- *
  117. *   3.3.59 FYOFFSET ----------------------------------------------------------- *
  118. *   3.3.60 GRID --------------------------------------------------------------- *
  119. *   3.3.61 FTYPE -------------------------------------------------------------- *
  120. *   3.3.62 DRAWTICKCHARS ------------------------------------------------------ *
  121. *  3.3. Plot-Funktionen ------------------------------------------------------- *
  122. *   3.3.1  PLOT --------------------------------------------------------------- *
  123. *   3.3.2  PPLOT -------------------------------------------------------------- *
  124. *   3.3.3  PLOTDATA ----------------------------------------------------------- *
  125. *  3.4. Berechnende Funktionen------------------------------------------------- *
  126. *   3.4.1  CALC --------------------------------------------------------------- *
  127. *   3.4.2  LINREG ------------------------------------------------------------- *
  128. *  3.5. Display-bearbeitende Funktionen---------------------------------------- *
  129. *   3.5.1  OPENDISPLAY -------------------------------------------------------- *
  130. *   3.5.2  CLOSEDISPLAY ------------------------------------------------------- *
  131. *   3.5.3  ABOUTDISPLAY ------------------------------------------------------- *
  132. *   3.5.4  SHOWDISPLAY -------------------------------------------------------- *
  133. *   3.5.5  BACKDISPLAY -------------------------------------------------------- *
  134. *   3.5.6  SAVEDISPLAY -------------------------------------------------------- *
  135. *   3.5.7  PRINT -------------------------------------------------------------- *
  136. *  3.6. Andere Funktionen------------------------------------------------------ *
  137. *   3.6.1  LOGIN -------------------------------------------------------------- *
  138. *   3.6.2  SET ---------------------------------------------------------------- *
  139. *   3.6.3  SHOW --------------------------------------------------------------- *
  140. *   3.6.4  EXECUTE ------------------------------------------------------------ *
  141. *   3.6.5. ! ------------------------------------------------------------------ *
  142. *   3.6.6  CD ----------------------------------------------------------------- *
  143. *   3.6.7  AVAILMEM ----------------------------------------------------------- *
  144. *   3.6.8  ? ------------------------------------------------------------------ *
  145. *   3.6.9  HELP --------------------------------------------------------------- *
  146. *   3.6.10 EXAMPLE ------------------------------------------------------------ *
  147. *   3.6.11 PAUSE -------------------------------------------------------------- *
  148. *   3.6.12 RESPONSE ----------------------------------------------------------- *
  149. *   3.6.13 STARTOUTPUT -------------------------------------------------------- *
  150. *   3.6.14 STOPOUTPUT --------------------------------------------------------- *
  151. *   3.6.15 ABOUT -------------------------------------------------------------- *
  152. *   3.6.16 EXIT --------------------------------------------------------------- *
  153. *   3.6.17 MACRO -------------------------------------------------------------- *
  154. * 4. DATEIEXPORT -------------------------------------------------------------- * 
  155. *  4.1 PDraw-Genies ----------------------------------------------------------- *
  156. *  4.2 HPGL-Dateien ----------------------------------------------------------- *
  157. *  4.3 EEPic-Dateien ---------------------------------------------------------- *
  158. *  4.4 Postscript-Dateien ----------------------------------------------------- *
  159. * 5. Mathematische Funktionen und Konstanten ---------------------------------- *
  160. * 6. ÜBER OPLOT --------------------------------------------------------------- *
  161. * 7. QUELLEN UNTERSTÜTZENDER SOFTWARE ------------------------------------------*
  162. * 8. COPYRIGHTS --------------------------------------------------------------- *
  163. *********************************************************************************
  164.  
  165.  0 Einführung
  166. #################################################################################
  167.  
  168.  OPlotV1.99 ist das leistungsfähigste und flexibelste 2D-Plot-Programm für 
  169.  den Commodore Amiga.
  170.  
  171.  Es stellt herkömmliche Funktionen der Form y=f(x), parametrisierte Funktionen
  172.  der Form y=f(x,t);x=f(t) und Daten auf die vielfältigste Art grafisch dar
  173.  und hat darüber hinaus wirkliche Innovationen zu bieten.
  174.  
  175.  Die größte Stärke des Programms liegt ohne Zweifel in der Flexibilität, so
  176.  kann ein Plot durch über 60 Parameter beeinflußt werden !
  177.  
  178.  Dadurch leidet natürlich die Benutzerfreundlichkeit - aber die Ergebnisse
  179.  überzeugen.
  180.  
  181.  Zusätzlich wurde für den High-End-Bereich die Funktion des Erzeugens von
  182.  ProDraw-Genies implementiert, was das Programm auch für den Bereich des 
  183.  DTP interessant macht.
  184.  
  185.  Die Ausgabe von HPGL- und EEPic-Dateien ist nun direkt vom Programm
  186.  aus möglich.
  187.  
  188.  Auch wurde ein kleiner ARexx-Port integriert, der alle Funktionen des
  189.  Programms anderen Applikationen zugänglich macht.
  190.  
  191.  0.1 Shareware/Updates
  192. =================================================================================
  193.  
  194.  Dieses Programm ist Shareware, wer es regelmäßig benutzt, sollte dem Autor
  195.  einen Betrag von 5 bis 10DM (Bar!) zukommen lassen.
  196.  
  197.  Updates:
  198.  Wer mir 12DM (Bar!) schickt, bekommt die aktuelle Version von OPlot zugesandt.
  199.  (Vorher (telephonisch) nachfragen, ob es Neuerungen gibt.)
  200.  
  201.  1 LEISTUNGSMERKMALE
  202. #################################################################################
  203.  
  204.  1.1 Mathematisches
  205. =================================================================================
  206.  
  207.  1.1.1 Plots
  208. ---------------------------------------------------------------------------------
  209.  
  210.   -Funktionen: y=f(x)
  211.   -Parametrisierte Funktionen: y=f(x,t);x=f(t)
  212.   -Daten
  213.   -viele Plots auf einmal durch einen Aufruf
  214.   -automatische Skalierung   
  215.  
  216.  1.1.2 Koordinaten
  217. ---------------------------------------------------------------------------------
  218.  
  219.   -kartesische
  220.   -Polar-koordinaten mit korrekter Achsendarstellung (Ellipse)
  221.  
  222.  1.1.3 Interpolation (Daten-Plots)
  223. ---------------------------------------------------------------------------------
  224.  
  225.   -Kubische Splines
  226.   -Basic-Splines mit wählbarer Ordnung von 2 bis 9
  227.  
  228.  1.1.4 Anderes
  229. ---------------------------------------------------------------------------------
  230.  
  231.   -lineare Regression  
  232.   -Ausgabe von interpolierten Daten in eine Datei (Datenplots)
  233.   -sortieren von Wertepaaren mit wählbarem Sortierkriterium (Datenplots)
  234.   -getrenntes Logarithmieren der x- und y-Achse mit getrennt wählbaren Basen
  235.    2, e oder 10
  236.   -Grid
  237.  
  238.  1.2 Grafische Darstellung
  239. =================================================================================
  240.  
  241.  1.2.1 Art der Darstellung
  242. ---------------------------------------------------------------------------------
  243.  
  244.   -Linien
  245.   -Punkte
  246.   -Balken
  247.   -Impulse
  248.   -frei wählbare Liniendicke
  249.  
  250.  1.2.2 Art der Punktdarstellung
  251. ---------------------------------------------------------------------------------
  252.  
  253.  -gefüllt
  254.  -ungefült
  255.  -mit Darstellung des Mittelpunktes
  256.  
  257.  -12 Punktarten
  258.  -Punkte sind frei skalierbar
  259.  
  260.  1.2.3 Art der Textdarstellung
  261. ---------------------------------------------------------------------------------
  262.  
  263.  -OPlot besitzt einen Font, der frei skalierbar und frei drehbar ist
  264.  -4 Textarten:
  265.    -Überschrift
  266.    -Graph-Bezeichnung
  267.    -Label-Bezeichnung
  268.    -Beschriftung der Achsen
  269.  -für jede dieser Textarten läßt sich die Zeichendicke angeben
  270.  
  271.  -für die Labels wird ein Platz von einer ganzen Zeile reserviert
  272.  
  273.  1.2.4 Art der Achsendarstellung
  274. ---------------------------------------------------------------------------------
  275.  
  276.  -zwei Beschriftungsmodi:
  277.   -Automatic: Angabe der Anzahl von Tick-Marks
  278.   -Custom: Angabe der Schrittweite beim Setzen von Tick-Marks
  279.  -die Achsendicke ist frei wählbar
  280.  
  281.  1.3 Berechnungen
  282. =================================================================================
  283.  
  284.  -alle internen Berechnungen werden mit doppelter Genauigkeit durchgeführt
  285.  -OPlot bietet auch die Funktionen eines Taschenrechners
  286.  
  287.  1.4 Das Interface
  288. =================================================================================
  289.  
  290.  1.4.1 Eingabe
  291. ---------------------------------------------------------------------------------
  292.  
  293.   -Komando-Zeilen durch
  294.     -den Benutzer
  295.     -eine Batch-Datei (ARexx-Ersatz)
  296.     -ARexx
  297.  
  298.  1.4.2 Ausgabe
  299. ---------------------------------------------------------------------------------
  300.  
  301.   -Bildschirm
  302.   -Preferences-Drucker
  303.   -PDraw-Genies
  304.   -HPGL-Dateien
  305.   -EEPic-Dateien
  306.   -ILBM-Datei
  307.   -Recording von Kommando-Zeilen
  308.  
  309.  1.4.3 Bildschirmmodi
  310. ---------------------------------------------------------------------------------
  311.  
  312.   -Lores, Hires, SuperHires
  313.   -NoInterlace, Interlace
  314.   -Voller Overscan/Kein Overscan
  315.  
  316.  1.4.4 Bildschirmgrößen
  317. ---------------------------------------------------------------------------------
  318.  
  319.  -vordefinierte Standard-Screens
  320.  -Custom-Screens: Größe frei wählbar (Auto-Scrolling)
  321.  
  322.  1.4.5 Bildschirmarten
  323. ---------------------------------------------------------------------------------
  324.  
  325.  -Farben 2,8,16
  326.  -mit oder ohne Füll-Funktionen (benötigen zusätzlichen Chip-Speicher)
  327.  
  328.  1.4.6 Anderes
  329. ---------------------------------------------------------------------------------
  330.  
  331.  -die Anzahl gleichzeitig geöffneter Displays ist nur durch den Chip-
  332.   Speicher begrenzt
  333.  -automatische Anpassung von Texten und horizontalen/vertikalen Linien an
  334.   die unterschiedlichen Auflösungen
  335.  
  336.  1.5 Anderes
  337. =================================================================================
  338.  
  339.  -Online-Hilfe
  340.  -99.98% absturzsicher
  341.  -speziell für den Amiga entwickelt
  342.  
  343.  Diese Merkmale sollten doch überzeugen.
  344.  
  345.  1.6 Einschränkungen
  346. =================================================================================
  347.  
  348.   -die Splines sind nicht parametrisiert, ich hatte aber auch noch kein
  349.    Daten-File, bei dem ich dies benötigt hätte
  350.   -Es empfielt sich immer die Auflösung Hires/Interlace zu verwenden
  351.    (besonders beim Ausdruck), denn 100%ig ist das Beibehalten des richtigen
  352.    Aspektes nicht möglich (alle nichtvertikalen/nichthorizontalen Linien
  353.    werden verzerrt)
  354.   -die Auflösung Lores/NoInterlace ist absolut nicht zu empfehlen, höchstens
  355.    zu Testzwecken
  356.  
  357.   ab Version1.7:
  358.   -die meisten neuen Features sind nicht an die unterschiedlichen
  359.    Auflösungen angepaßt (meistens nicht einmal getestet) - also ist der
  360.    HiRes-Interlace-Modus bei aufwendigeren Grafiken UNEINGESCHRÄNKT IMMER
  361.    zu empfehlen.
  362.    
  363.  2 START DES PROGRAMMS
  364. #################################################################################
  365.  
  366.  2.1 System-Anforderungen
  367. =================================================================================
  368.  
  369.  2.1.1 Betriebssystem
  370. ---------------------------------------------------------------------------------
  371.  
  372.  OPlot benötigt OS2.0, es könnte sein, daß es auch mit KS1.3 funktioniert -
  373.  entwickelt wurde es unter OS3.0.
  374.  
  375.  2.1.2 Libraries
  376. ---------------------------------------------------------------------------------
  377.  
  378.  -asl.library (arp.library für KS1.3),
  379.  -mathtrans.-, mathieedoubbas.- und mathieedoubtrans.library
  380.  
  381.  2.1.3 Stack-Speicher
  382. ---------------------------------------------------------------------------------
  383.  
  384.  Da OPlot einige rekursive Prozeduren enthält und fast alle Variablen
  385.  auf dem Stack liegen, ist der Stack-Speicher-Bedarf ziemlich hoch -
  386.  dadurch ist aber das ausführbare Programm kleiner als zu erwarten wäre.
  387.  
  388.  Das Minimum liegt bei 100000 Bytes - dieser Wert ist auch noch nie
  389.  überschritten worden (als Bedarf zur Laufzeit).
  390.  
  391.  
  392.  2.2 Start des Programms
  393. =================================================================================
  394.  
  395.  OPlot kann sowohl von der Workbench als auch vom CLI aus gestartet werden,
  396.  wobei letztere Möglichkeit vorteilhafter ist, da sie die Ausführung
  397.  von CLI-Befehlen aus OPlot heraus ermöglicht
  398.  
  399.  2.2.1 Argumente
  400. ---------------------------------------------------------------------------------
  401.  
  402.  OPlot akzeptiert drei Argumente (in beliebiger Reihenfolge):
  403.  
  404.   - die Option "-r" - aktiviert den ARexx-Modus
  405.   - die Option "-o" - schaltet die Text-Ausgabe bei Verwendung des
  406.                       ARexx-Modus EIN
  407.   - den Dateinamen eines Batchfiles, das beim Start ausgeführt wird;
  408.     so kann man oft benutzte Settings in eine solche Datei schreiben, 
  409.     die dann nach dem Start sofort aktiv  sind.
  410.  
  411.  
  412.  
  413.   - die Option "?" ist nun auch vorhanden.
  414.  
  415.  
  416.  Beispiele:
  417.  
  418.   "Oplot"
  419.   "Oplot -r"
  420.   "OPlot -r -o ram:settings"
  421.   "Oplot ram:settings"
  422.  
  423.  Bemerkungen: Im reinen ARexx-Modus werden keinerlei Ausgaben (außer auf
  424.               die Plot-Displays und in Dateien) gemacht. Das betrifft die
  425.               Help-Texte ebenso wie z.B. Fehlermeldungen.
  426.               Mit der Option -o läßt sich dies abstellen - Eingaben von
  427.               der Tastatur sind aber dennoch nicht möglich.
  428.  
  429.  
  430.  3 DOKUMENTATION
  431. #################################################################################
  432.  
  433.  3.1 Das ARexx-Interface 
  434. =================================================================================
  435.  
  436.  Hinweis: OPlot-Neulinge sollten diese Kapitel ZULETZT lesen.
  437.  
  438. ---------------------------------------------------------------------------------
  439.  
  440.  Das ARexx-Interface ist sehr simpel und effektiv zugleich: zwei Befehle sind 
  441.  vorhanden:
  442.  
  443.   - "PARSE" und
  444.   - "EXIT"
  445.  
  446.  Wichtig: Der Port heißt "OPlot".
  447.  
  448.  Syntax:
  449.  
  450.  1. PARSE
  451.  
  452.  Alle Eingaben, die man normalerweise von Hand macht, können hinter dem Befehl
  453.  PARSE angegeben werden und werden sofort ausgeführt. 
  454.  
  455.  Einschränkungen: Die (normalen) Befehle EXIT und QUIT sind wirkungslos.
  456.  
  457.  Beispiele: (von der Shell aus)
  458.  
  459.   rx "address 'OPlot' 'PARSE plot(0,sin(x),-2..3)'"
  460.   rx "address 'OPlot' 'PARSE set(ft=h)'"
  461.   rx "address 'OPlot' 'PARSE showd(1)'"
  462.   
  463.  2. EXIT
  464.  
  465.  Beendet das Programm.
  466.  
  467.  Beispiel: (von der Shell aus)
  468.  
  469.   rx "address 'OPlot' EXIT"
  470.  
  471. ---------------------------------------------------------------------------------
  472.  
  473.  Bemerkungen:
  474.  -OPlot kann nicht mehrfach zu gleicher Zeit gestartet werden (im ARexx-Modus)
  475.  -normalerweise werden alle Tastur-Ein- und Ausgaben unterdrückt. Somit
  476.   öffnet sich auch kein Fenster.
  477.   Das hat z.B. dann den Vorteil, wenn man eine grafische Benutzeroberfläche 
  478.   für OPlot schreiben möchte, daß man nichts davon merkt, daß eigentlich 
  479.   zwei (drei) Programme laufen .
  480.   Mit der Start-Option "-o" kann dies (z.B. zu Debug-Zwecken) verhindert 
  481.   werden.
  482.  
  483.  3.2 Die OPlot-Variablen
  484. =================================================================================
  485.  
  486.  OPlot-Variblen sind der Schlüssel zur Flexibilität des Programms. Sie können auf
  487.  zwei Wegen modifiziert werden:
  488.   -durch die Funktion SET (global) und
  489.   -während der Plot-Aufrufe (lokal)
  490.  
  491.  Aufstellung der OPlot-Variablen:
  492.  
  493.  3.2.1 HMODE
  494. ---------------------------------------------------------------------------------
  495.  
  496.      Beschreibung: horizontale Auflösung eines OPlot-Displays
  497.  
  498.             Werte: LORES  (320)
  499.                    HIRES  (640)
  500.                    SHIRES (1280)
  501.                    CUSTOM (vom Benutzer definiert)
  502.  
  503.  3.2.2 VMODE
  504. ---------------------------------------------------------------------------------
  505.  
  506.      Beschreibung: vertikale Auflösung eines OPlot-Displays
  507.  
  508.             Werte: NOLACE  (256)
  509.                    LACE    (512)
  510.                    CUSTOM  (vom Benutzer definiert)
  511.  
  512.  3.2.3 OVERSCAN
  513. ---------------------------------------------------------------------------------
  514.  
  515.      Beschreibung: Overscan eines OPlot-Displays
  516.  
  517.             Werte: TRUE  (Voller Overscan ein)
  518.                    FALSE (Overscan aus)
  519.  3.2.4 CUSTWIDTH
  520. ---------------------------------------------------------------------------------
  521.  
  522.      Beschreibung: definiert die horizontale Custom-Auflösung (HMODE=CUSTOM)
  523.  
  524.             Werte: 320-32000
  525.  
  526.  3.2.5 CUSTHEIGHT
  527. ---------------------------------------------------------------------------------
  528.  
  529.      Beschreibung: definiert die vertikale Custom-Auflösung (VMODE=CUSTOM)
  530.  
  531.             Werte: 256-32000
  532.  
  533.  3.2.6 DMODE
  534. ---------------------------------------------------------------------------------
  535.  
  536.      Beschreibung: definiert den Typ eines OPlot-Displays
  537.  
  538.             Werte: NORMAL      (16 Farben, keine Füll-Funktionen)
  539.                    EXTENDED    ( 8 Farben, mit Füll-funktionen)
  540.                    ADVANCED    (16 Farben, mit Füll-Funktionen)
  541.                    BLACK&WHITE ( 2 Farben, mit Füll-Funktionen)
  542.  
  543.  3.2.7 OUTPUT 
  544. ---------------------------------------------------------------------------------
  545.  
  546.      Beschreibung: definiert, ob interpolierte Daten in eine Datei (OUTPUTFILE)
  547.                    ausgegeben werden sollen
  548.  
  549.             Werte: TRUE  (schreibt)
  550.                    FALSE (schreibt nicht)
  551.  
  552.  3.2.8 OUTPUTFILE 
  553. ---------------------------------------------------------------------------------
  554.  
  555.      Beschreibung: Genereller Dateiname für die Ausgabe; werden interpolierte
  556.                    Daten erzeugt, wird der Dateiname unverändert verwendet -
  557.                    werden mit den Funktionen STARTOUTPUT und STOPOUTPUT
  558.                    Batch-Files erzeugt, so werden diese numeriert
  559.  
  560.             Werte: eine Zeichenkette, Keine '"'-Zeichen verwenden !
  561.  
  562.  3.2.9 ANGLES
  563. ---------------------------------------------------------------------------------
  564.  
  565.      Beschreibung: definiert, wie Winkel interpretiert werden sollen
  566.  
  567.             Werte: RADIANS (Bogenmaß)
  568.                    DEGREES (Grad)
  569.  
  570.  3.2.10 XCOL
  571. ---------------------------------------------------------------------------------
  572.  
  573.      Beschreibung: Nummer der Spalte eines Daten-Files, deren Werte als x-Werte
  574.                    eingelesen werden sollen
  575.  
  576.             Werte: 1-maxcol; maxcol=Anzahl der Spalten des Daten-Files
  577.  
  578.  3.2.11 YCOL
  579. ---------------------------------------------------------------------------------
  580.  
  581.      Beschreibung: Nummer der Spalte eines Daten-Files, deren Werte als y-Werte
  582.                    eingelesen werden sollen
  583.  
  584.             Werte: 1-maxcol; maxcol=Anzahl der Spalten des Daten-Files
  585.  
  586.  3.2.12 XSORT 
  587. ---------------------------------------------------------------------------------
  588.  
  589.      Beschreibung: definiert, ob die eingelesenem Daten sortiert werden sollen;
  590.                    Sortier-Kriterium: x-Werte
  591.  
  592.             Werte: TRUE  (Sortierung durchführen)
  593.                    FALSE (keine Sortierung)
  594.  
  595.  3.2.13 YSORT 
  596. ---------------------------------------------------------------------------------
  597.  
  598.      Beschreibung: definiert, ob die eingelesenen Daten sortiert werden sollen;
  599.                    Sortier-Kriterium: y-Werte
  600.  
  601.             Werte: TRUE  (Sortierung durchführen))
  602.                    FALSE (keine Sortierung)
  603.  
  604.  3.2.14 AUTOCLEAR
  605. ---------------------------------------------------------------------------------
  606.  
  607.      Beschreibung: definiert, ob die OPlot-Displays automatisch gelöscht werden,
  608.                    bevor in sie neu gezeichnet wird
  609.  
  610.             Werte: TRUE  (Löschen durchführen)
  611.                    FALSE (kein automatisches Löschen)
  612.  
  613.  3.2.15 DRAWAXIS
  614. ---------------------------------------------------------------------------------
  615.  
  616.      Beschreibung: definiert, ob die Achsen gezeichnet werden sollen
  617.                    (sinnvoll bei mehrmaligen Plots in ein Display)
  618.  
  619.             Werte: TRUE  (zeichne die Achsen)
  620.                    FALSE (zeichne keine Achsen)
  621.  
  622.  3.2.16 DRAWGT
  623. ---------------------------------------------------------------------------------
  624.  
  625.      Beschreibung: definiert, ob die Graph-Bezeichnung gezeichnet werden soll
  626.                    (sinnvoll bei mehrmaligen Plots der gleichen Werte mit
  627.                     unterschiedlichen Darstellungsmodi)
  628.  
  629.             Werte: TRUE  (zeichne sie)
  630.                    FALSE (zeichne sie nicht)
  631.  
  632.  3.2.17 GRAPHTITLE
  633. ---------------------------------------------------------------------------------
  634.  
  635.      Beschreibung: definiert die Graphbezeichnung - normalerweise wird sie aus
  636.                    dem mathematischen Ausdruck automatisch generiert
  637.  
  638.             Werte: "Zeichenkette" (Werden keine '"'-Zeichen angeben, so werden
  639.                                    alle Leerzeichen entfernt und alle Buchstaben
  640.                                    in Großbuchstaben umgewandelt.)
  641.  
  642.  3.2.18 TITLE
  643. ---------------------------------------------------------------------------------
  644.  
  645.      Beschreibung: definiert die Überschrift
  646.  
  647.             Werte: "Zeichenkette"
  648.  
  649.  3.2.19 POLAR
  650. ---------------------------------------------------------------------------------
  651.  
  652.      Beschreibung: definiert, ob Polar-Koordinaten verwendet werden sollen
  653.  
  654.             Werte: TRUE  (benutze Polarkoordinaten)
  655.                    FALSE (benutze kartesische Koordinaten)
  656.  
  657.  3.2.20 KEEPCHARSIZE 
  658. ---------------------------------------------------------------------------------
  659.  
  660.      Beschreibung: Bei der Verwendung von Custom-Screens werden normalerweise die
  661.                    Zeichen in ihrer Größe an die Screen-Größe angepaßt; diese
  662.                    Variable kann dies verhindern.
  663.                    (Sinnvoll, wenn man sehr viele Tick-Marks verwenden möchte)
  664.  
  665.             Werte: TRUE  (behalte die Größe bei)
  666.                    FALSE (passe die Größe an)
  667.  
  668.  3.2.21 CBORDER 
  669. ---------------------------------------------------------------------------------
  670.  
  671.      Beschreibung: definiert, ob ein Custom-Border (ein von Benutzer definierter
  672.                    rechteckiger Bildschirmausschnitt) verwendet werden soll
  673.                    (Sinnvoll, wenn man mehrere Plots nebeneinander/untereinander
  674.                     auf einem Display unterbringen möchte)
  675.  
  676.             Werte: TRUE (Benutze den durch CBLEFT, CBRIGHT, CBTOP und CBBOTTOM
  677.                          definierten Bereich)
  678.                   FALSE (Benutze den ganzen Bildschirm)
  679.  
  680.  3.2.22 CBLEFT 
  681. ---------------------------------------------------------------------------------
  682.  
  683.      Beschreibung: definiert die X-Koordinate der linken oberen Ecke des
  684.                    Custom-Border (absolute Fenster-Koordinaten)
  685.  
  686.             Werte: 10-maxval; maxval=Bildschirmbreite-100
  687.  
  688.  3.2.23 CBTOP 
  689. ---------------------------------------------------------------------------------
  690.  
  691.      Beschreibung: definiert die Y-Koordinate der linken oberen Ecke des
  692.                    Custom-Border
  693.  
  694.             Werte: 10-maxval; maxval=Bildschirmhöhe-100
  695.  
  696.  3.2.24 CBRIGHT 
  697. ---------------------------------------------------------------------------------
  698.  
  699.      Beschreibung: definiert die X-Koordinate der rechten unteren Ecke des
  700.                    Custom-Border
  701.  
  702.             Werte: (CBLEFT+100)..maxval; maxval=Bildschirmbreite-10
  703.  
  704.  3.2.25 CBBOTTOM 
  705. ---------------------------------------------------------------------------------
  706.  
  707.      Beschreibung: definiert die Y-Koordinate der rechten unteren Ecke des
  708.                    CUSTOM-Border
  709.  
  710.             Werte: (CBTOP+100)..maxval; maxval=Bildschirmhöhe-10
  711.  
  712.  3.2.26 TICKMODE 
  713. ---------------------------------------------------------------------------------
  714.  
  715.      Beschreibung: definiert die Art der Berechnung von Tick-Marks
  716.  
  717.             Werte: AUTO   (Berechnung mit Hilfe der Variablen XTICKS and YTICKS
  718.                            -> Absolute Anzahl)
  719.                    CUSTOM (Berechnung mit Hilfe der Variablen XTICKLEN and YTICKLEN
  720.                            -> Absolute Schrittweite)
  721.  
  722.  3.2.27 XTICKS
  723. ---------------------------------------------------------------------------------
  724.  
  725.      Beschreibung: definiert die Anzahl der Tick-Marks auf der x-Achse
  726.                   (TICKMODE=AUTO)
  727.  
  728.             Werte: 3..10000
  729.  
  730.  3.2.28 YTICKS
  731. ---------------------------------------------------------------------------------
  732.  
  733.      Beschreibung: definiert die Anzahl der Tick-Marks auf der y-Ackse
  734.                    (TICKMODE=AUTO)
  735.  
  736.             Werte: 3..10000
  737.  
  738.  3.2.29 XTICKLEN
  739. ---------------------------------------------------------------------------------
  740.  
  741.      Beschreibung: definiert die Schrittweite beim Setzen von Tick-Marks auf der
  742.                    x-Achse (TICKMODE=CUSTOM)
  743.  
  744.             Werte: Reale Zahl größer Null
  745.  
  746.  3.2.30 YTICKLEN
  747. ---------------------------------------------------------------------------------
  748.  
  749.      Beschreibung: definiert die Schrittweite beim Setzen von Tick-Marks auf der
  750.                    y-Ackse (TICKMODE=CUSTOM(
  751.  
  752.             Werte: Reale Zahl größer Null
  753.  
  754.  3.2.31 XLABEL
  755. ---------------------------------------------------------------------------------
  756.  
  757.      Beschreibung: Bezeichnung der x-Achse
  758.  
  759.             Werte: "Zeichenkette"
  760.  
  761.  3.2.32 YLABEL
  762. ---------------------------------------------------------------------------------
  763.  
  764.      Beschreibung: Bezeichnung der y-Achse
  765.  
  766.             Werte: "Zeichenkette"
  767.  
  768.  3.2.33 XLOGSCALE
  769. ---------------------------------------------------------------------------------
  770.  
  771.      Beschreibung: definiert die Art der x-Achse
  772.  
  773.             Werte: TRUE  (logarithmische Achse)
  774.                    FALSE (normale Achse)
  775.  
  776.  3.2.34 YLOGSCALE
  777. ---------------------------------------------------------------------------------
  778.  
  779.      Beschreibung: definiert die Art der y-Achse
  780.  
  781.             Werte: TRUE  (logarithmische Achse)
  782.                    FALSE (normale Achse)
  783.  
  784.  3.2.35 XLOGBASE
  785. ---------------------------------------------------------------------------------
  786.  
  787.      Beschreibung: definiert die Basis des auf der x-Achse verwendeten Logarithmus
  788.  
  789.             Werte: TEN (10.0)
  790.                     E (2.718..)
  791.                   TWO (2.0)
  792.  
  793.  3.2.36 YLOGBASE
  794. ---------------------------------------------------------------------------------
  795.  
  796.      Beschreibung: definiert die Basis des auf der y-Achse verwendeten Logarithmus
  797.  
  798.             Werte: TEN (10.0)
  799.                     E (2.718..)
  800.                   TWO (2.0)
  801.  
  802.  3.2.37 PCOUNT
  803. ---------------------------------------------------------------------------------
  804.  
  805.      Beschreibung: definiert die Anzahl der Punkte, die
  806.                     -berechnet werden sollen (Funktions- und Parameter-Plots)
  807.                     -maximal eingelesen werden sollen (Daten-Plots)
  808.  
  809.             Werte: 3..MAX(LONGINT)
  810.  
  811.  3.2.38 BSPLINEORDER 
  812. ---------------------------------------------------------------------------------
  813.  
  814.      Beschreibung: gibt die Ordnung der Basic-Spleines an; je höher die Ordnung
  815.                    ist, desto mehr entfernen sich die Splines von den Leitpunkten,
  816.                    desto glatter verläuft aber die Kurve
  817.                    (bei jeder Erhöhung der Ordnung verdoppelt sich die Rechenzeit)
  818.  
  819.             Werte: 2..50
  820.  
  821.  3.2.39 INTERKIND
  822. ---------------------------------------------------------------------------------
  823.  
  824.      Beschreibung: gibt die Art der Interpolationsmethode für Datenfiles an
  825.  
  826.             Werte: NONE (keine Interpolation) (default)
  827.                    CSPLINE (Cubic Splines, sehr schnell. Diese Splines
  828.                             gehen aber durch alle Original-Punkte, eignen 
  829.                             sich also nicht zum Glätten von Meßfehlern.)
  830.                    BSPLINE (Basic Splines, gut zum Glätten)
  831.  
  832.  3.2.40 INTERPOINTS
  833. ---------------------------------------------------------------------------------
  834.  
  835.      Beschreibung: Anzahl der Punkte, die aus den eingelesenen Daten durch eine
  836.                    Spline-Interpolation berechnet werden sollen
  837.                    (kleine Werte bis 1000 empfohlen (Rechenzeit))
  838.  
  839.             Werte: 3..MAX(LONGINT)
  840.  
  841.  3.2.41 PLOTSTYLE
  842. ---------------------------------------------------------------------------------
  843.  
  844.      Beschreibung: definiert die Art der grafischen Darstellung
  845.  
  846.             Werte: LINES    (Linien)
  847.                    POINTS   (Punkte)
  848.                    IMPULSES (Impulse)
  849.                    BOXES    (Balken)
  850.  
  851.  3.2.42 POINTTYPE
  852. ---------------------------------------------------------------------------------
  853.  
  854.      Beschreibung: definiert die Punkt-Art (PLOTSTYLE=POINTS)
  855.  
  856.             Werte: POINT                          (normaler Bildschirmpunkt)
  857.                   CROSS     (skalierbar)          (Kreuz)
  858.                   CROSS2    (skalierbar)          (Kreuz um 45 Grad gedreht)
  859.                   CIRCLE    (skalierbar, füllbar) (Kreis)
  860.                   CIRCLE2   (skalierbar, füllbar) (2 Kreise)
  861.                   TRIANGLE1 (skalierbar, füllbar) (Dreieck)
  862.                   TRIANGLE2 (skalierbar, füllbar) (Dreieck um 90 Grad gedreht)
  863.                   TRINAGLE3 (skalierbar, füllbar) (Dreieck um 180 Grad gedreht)
  864.                   TRIANGLE4 (skalierbar, füllbar) (Dreieck um 270 Grad gedreht)
  865.                   BOX       (skalierbar, füllbar) (Quadrat)
  866.                   BOX2      (skalierbar, füllbar  (Quadrat um 45 Grad gedreht)
  867.                   STAR      (skalierbar)          (Stern)
  868.                   STAR2     (skalierbar)          (Stern um 45 Grad gedreht)
  869.  
  870.  3.2.43 POINTMODE
  871. ---------------------------------------------------------------------------------
  872.  
  873.      Beschreibung: definiert die Art der Darstellung von Punkten
  874.  
  875.             Werte: FILLED    (gefüllt - dazu muß das Display installierte
  876.                                         Füllfunktionen besitzen)
  877.                    UNFILLED  (ungefüllt)
  878.                    DRAWPOINT (Der Mittelpunkt (der Punkt, an dem sich der
  879.                                                eigentliche Wert befindet)
  880.                               wird zusätzlich durch einen Bildschirmpunkt
  881.                               dargestellt)
  882.  
  883.  3.2.44 POINTSIZE
  884. ---------------------------------------------------------------------------------
  885.  
  886.      Beschreibung: definiert die absolute Punktgröße in Bildpunkten
  887.  
  888.             Werte: 3..100
  889.  
  890.  3.2.45 ATHICKNESS 
  891. ---------------------------------------------------------------------------------
  892.  
  893.      Beschreibung: definiert die absolute Breite der Null-Achsen in Bildpunkten
  894.                    (Alle Thickness-Variablen sind bei der Verwendung von
  895.                     übergroßen Displays nützlich)
  896.  
  897.             Werte: 0..19 
  898.  
  899.       Bemerkungen: Die Thickness-Werte beeinflussen bei der ProDraw-Genie-Erzeugung
  900.                    den Parameter "LineWeight" innerhalb von ProDraw; wird ein Wert
  901.                    von 0 angegeben, so wird der Parameter "LineWeight" auf
  902.                    "FineLine" gesetzt, innerhalb von OPlot wird Linienstärke 1
  903.                    verwendet.
  904.  
  905.  3.2.46 BTHICKNESS 
  906. ---------------------------------------------------------------------------------
  907.  
  908.      Beschreibung: definiert die absolute Breite des äußeren Rahmens um den
  909.                    Graphen
  910.  
  911.             Werte: 0..19
  912.  
  913.  3.2.47 LTHICKNESS 
  914. ---------------------------------------------------------------------------------
  915.  
  916.      Beschreibung: definiert die absolute Breite der Linien bei der Darstellung
  917.                    des Graphen (PLOTSTYLE=LINES)
  918.  
  919.             Werte: 0..19
  920.  
  921.  3.2.48 TITLECHARTHICKNESS 
  922. ---------------------------------------------------------------------------------
  923.  
  924.      Beschreibung: definiert die absolute Breite der Linien, aus denen die Zeichen
  925.                    der Überschrift bestehen
  926.  
  927.             Werte: 0..19
  928.  
  929.  3.2.49 TICKCHARTHICKNESS 
  930. ---------------------------------------------------------------------------------
  931.  
  932.      Beschreibung: definiert die absolute Breite der Linien, aus denen die Zeichen
  933.                    der Tick-Marks bestehen
  934.  
  935.             Werte: 0..19
  936.  
  937.  3.2.50 LABELCHARTHICKNESS 
  938. ---------------------------------------------------------------------------------
  939.  
  940.      Beschreibung: definiert die absolute Breite der Linien, aus denen die Zeichen
  941.                    der Achsen-Bezeichnungen bestehen
  942.  
  943.             Werte: 0..19
  944.  
  945.  3.2.51 GTCHARTHICKNESS 
  946. ---------------------------------------------------------------------------------
  947.  
  948.      Beschreibung: definiert die absolute Breite der Linien, aus denen die Zeichen
  949.                    der Graph-Bezeichnung bestehen
  950.  
  951.             Werte: 0..19
  952.  
  953.  3.2.52 CENTERXLABEL 
  954. ---------------------------------------------------------------------------------
  955.  
  956.      Beschreibung: definiert ob die x-Achsenbezeichnung zentiert werden soll
  957.                    (wenn die Bezeichnung länger als 4 Zeichen ist (Funktion+Einheit),
  958.                     sollte sie zentriert werden (besseres Aussehen))
  959.  
  960.             Werte: TRUE (zentriere Achsenbezeichnung)
  961.                    FALSE (setze die Achsenbezeichnung rechtsbündig)
  962.  
  963.  3.2.53 CENTERXLABEL 
  964. ---------------------------------------------------------------------------------
  965.  
  966.      Beschreibung: definiert ob die y-Achsenbezeichnung zentiert werden soll
  967.  
  968.             Werte: TRUE (zentriere Achsenbezeichnung)
  969.                    FALSE (setze die Achsenbezeichnung an den oberen Rand)
  970.  
  971.  3.2.54 FOUTPUT 
  972. ---------------------------------------------------------------------------------
  973.  
  974.      Beschreibung: definiert ob zusätzlich zum Plot externe Dateien erzeugt werden
  975.                    sollen (siehe Abschnitt 5)
  976.  
  977.  3.2.55 OUTFILENAME 
  978. ---------------------------------------------------------------------------------
  979.  
  980.      Beschreibung: Genereller Dateiname für die Ausgabe von externen Dateien,
  981.                    die eigentlichen Dateien werden durchnummeriert - ein
  982.                    Datei-Typ-Kürzel wird ebenfalls angehängt
  983.  
  984.             Werte: eine Zeichenkette, Keine '"'-Zeichen verwenden !
  985.  
  986.  3.2.56 FWIDTH 
  987. ---------------------------------------------------------------------------------
  988.  
  989.      Beschreibung: definiert die Breite des Plots (Inch) beim Datei-Export.
  990.      
  991.             Werte: Reelle Zahl 4.0..48.0
  992.  
  993.  3.2.57 FHEIGHT 
  994. ---------------------------------------------------------------------------------
  995.  
  996.      Beschreibung: definiert die Höhe des Plots in Zoll (Inch) beim Datei-Export.
  997.  
  998.             Werte: Reelle Zahl 4.0..48.0
  999.  
  1000.  3.2.58 FXOFFSET 
  1001. ---------------------------------------------------------------------------------
  1002.  
  1003.      Beschreibung: definiert die X-Koordinate der linken oberen Ecke des 
  1004.                    Plots in Zoll (Inch) beim Datei-Export.
  1005.      
  1006.             Werte: Reelle Zahl 0.0..48.0
  1007.  
  1008.  
  1009.  3.2.59 FYOFFSET 
  1010. ---------------------------------------------------------------------------------
  1011.  
  1012.      Beschreibung: definiert die Y-Koordinate der linken oberen Ecke des 
  1013.                    Plots in Zoll (Inch) beim Datei-Export
  1014.      
  1015.             Werte: Reelle Zahl 0.0..48.0
  1016.  
  1017.  
  1018.  3.2.60 GRID
  1019. ---------------------------------------------------------------------------------
  1020.  
  1021.      Beschreibung: definiert, ob ein Raster in der Dichte der Tick-Marks unter
  1022.                    den Graphen gelegt werden soll.
  1023.  
  1024.             Werte: TRUE 
  1025.                    FALSE 
  1026.  
  1027.  3.2.61 FTYPE
  1028. ---------------------------------------------------------------------------------
  1029.  
  1030.      Beschreibung: definiert das Ausgabeformat für externe Dateien
  1031.  
  1032.             Werte: PDRAW 
  1033.                    HPGL 
  1034.                    EEPIC
  1035.       
  1036.  3.2.62 DRAWTICKCHARS
  1037. ---------------------------------------------------------------------------------
  1038.  
  1039.      Beschreibung: definiert, ob die Tick-Marks mit Zahlen beschriftet werden
  1040.                    sollen (ist manchmal nicht nötig)      
  1041.             Werte: TRUE 
  1042.                    FALSE 
  1043.  
  1044.  
  1045.  3.3 Plot-Funktionen
  1046. =================================================================================
  1047.  
  1048.  3.3.1 PLOT
  1049. ---------------------------------------------------------------------------------
  1050.  
  1051.      Beschreibung: diese Funktion plottet herkömmliche Funktionen der Form
  1052.                    y=f(x)
  1053.  
  1054.            Aufruf: PLOT(<DisplayNummer>,<Mehrfach-Ausdruck>,xMin..xMax,...)
  1055.  
  1056.                DisplayNummer: Nummer eines bereits geöffneten Displays oder
  1057.                               0 (automatisches Öffnen vor dem Plot) oder
  1058.                               v - kein Zeichnen auf einem Screen; nur 
  1059.                                   Erzeugung von Plot-Dateien (wenn eingestellt)
  1060.            Mehrfach-Ausdruck: mindestens ein korrekter mathematischer Ausdruck in x
  1061.                               oder mehrere getrennt durch '..'
  1062.                   xMin..xMax: Definitionsbereich für x, der Konstanten und Operatoren
  1063.                               enthalten kann, z.b. "2/5..2*pi"
  1064.  
  1065.                   optionale Parameter:
  1066.  
  1067.                     <yMin..yMax> (definiert den y-Ausschnitt, der gezeichnet werden
  1068.                                   soll, ansonsten wird der Graph auf die maximale
  1069.                                   Bildschirmhöhe angepaßt, was auch bei Mehrfach-
  1070.                                   Ausdrücken funktioniert)
  1071.                     plotstyle \
  1072.                     pointtype  |
  1073.                     pointsize  |
  1074.                     pointmode  |
  1075.                     drawaxis   |
  1076.                     title      |
  1077.                     graphtitle \  diese OPlot-Variablen überschreiben während des
  1078.                     xlabel     /  Plots die globalen namensgleichen, nach dem Plot
  1079.                     ylabel     |  gelten wieder die letzteren
  1080.                     xticks     |
  1081.                     yticks     |
  1082.                     xlogscale  |
  1083.                     ylogscale  |
  1084.                     pcount    /
  1085.  
  1086.        Beispiele: plot(0,sin(x),-2..3)
  1087.                   plot(2,sin(x)..cos(x),-pi..3*pi/4,plotstyle=boxes)
  1088.                   plot(v,cos(3*x)+3*cos(x)..sin(3*x)+3*sin(x),0..pi,-4..4,pcount=1000)
  1089.  
  1090.  3.3.2 PPLOT
  1091. ---------------------------------------------------------------------------------
  1092.  
  1093.      Beschreibung: diese Funktion plottet parametrisierte Funktionen der Form
  1094.                    y=f(x,t);x=f(t)
  1095.  
  1096.            Aufruf: PPLOT(<DisplayNummer>,<Mehrfach-Ausdruck11>,<Mehrfach-Ausdruck2>,tMin..tMax,...)
  1097.  
  1098.                DisplayNummer: Nummer eines bereits geöffneten Displays oder
  1099.                               0 (automatisches Öffnen vor dem Plot) oder
  1100.                               v - kein Zeichnen auf einem Screen; nur 
  1101.                                   Erzeugung von Plot-Dateien (wenn eingestellt)
  1102.  
  1103.           Mehrfach-Ausdruck1: mindestens ein Ausdruck in x und t
  1104.           Mehrfach-Ausdruck2: mindestens ein Ausdruck in t
  1105.                   tmin..tmax: Definitionsbereich für den Parameter t
  1106.  
  1107.                  optionale Parameter:
  1108.  
  1109.                     <xmin..xmax> (definiert den x-Auschnitt)
  1110.                     <ymin..ymax> (definiert den y-Auschnitt)
  1111.                     plotstyle
  1112.                     pointtype
  1113.                     pointsize
  1114.                     pointmode
  1115.                     drawaxis
  1116.                     title
  1117.                     graphtitle
  1118.                     xlabel
  1119.                     ylabel
  1120.                     xticks
  1121.                     yticks
  1122.                     xlogscale
  1123.                     ylogscale
  1124.                     pcount
  1125.  
  1126.        Beispiele: pplot(0,9*cos(t)+4*cos(3*t),9*sin(t)-4*sin(3*t),0..2*pi)
  1127.                   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)
  1128.                   pplot(1,sin(x)*t,cos(t),0..pi,-2..2,-3..3,plotstyle=points,pointtype=box)
  1129.  
  1130.        Bemerkung: Hat der Mehrfach-Ausdruck die Ordnung n1, der Mehrfach-Ausdruck die
  1131.                   Ordnung n2, so werden n=n1*n2 Graphen erzeugt -
  1132.                   Autoscaling funktioniert auch hier.
  1133.                   (Das zweite Beispiel liefert 6 Graphen.)
  1134.  
  1135.  3.3.3 PLOTDATA
  1136. ---------------------------------------------------------------------------------
  1137.  
  1138.      Beschreibung: diese Funktion plottet schließlich Daten
  1139.  
  1140.            Aufruf: PLOTDATA(<DisplayNummer>,<Mehrfach-Ausdruck>,...)
  1141.  
  1142.                DisplayNummer: Nummer eines bereits geöffneten Displays oder
  1143.                               0 (automatisches Öffnen vor dem Plot) oder
  1144.                               v - kein Zeichnen auf einem Screen; nur 
  1145.                                   Erzeugung von Plot-Dateien (wenn eingestellt)
  1146.            Mehrfach-Ausdruck: mindestens ein Dateiname
  1147.                    Dateiname: gültiger Dateiname (relativ zum aktuellen Verzeichnis)
  1148.                               oder 'asl' (Dateiauswahlrequester).
  1149.  
  1150.                  optionale Parameter:
  1151.  
  1152.                     <xmin..xmax> (definiert den x-Auschnitt)
  1153.                     <ymin..ymax> (definiert den y-Auschnitt)
  1154.                     plotstyle
  1155.                     pointtype
  1156.                     pointsize
  1157.                     pointmode
  1158.                     drawaxis
  1159.                     title
  1160.                     graphtitle
  1161.                     xlabel
  1162.                     ylabel
  1163.                     xticks
  1164.                     yticks
  1165.                     xlogscale
  1166.                     ylogscale
  1167.                     pcount
  1168.                     xsort
  1169.                     ysort
  1170.                     xcol
  1171.                     ycol
  1172.  
  1173.        Beispiele: plotdata(0,ram:data1)
  1174.                   plotdata(v,ram:data1..ram:data2..ram:data3,drawaxis=f)
  1175.                   plotd(0,ram:data4,xcol=2,ycol=3,title="DATA Plots")
  1176.                   plotdata(0,asl..asl..asl..asl,pcount=100)
  1177.  
  1178.  3.4 Berechnende Funktionen
  1179. =================================================================================
  1180.  
  1181.  3.4.1 CALC
  1182. ---------------------------------------------------------------------------------
  1183.  
  1184.      Beschreibung: diese Funktion berechnet mathematische Ausdrücke
  1185.  
  1186.            Aufruf: CALC(<Ausdruck>)
  1187.                   <Ausdruck>   (CALC( ) muß nicht angeben werden)
  1188.  
  1189.        Beispiele: calc(sin(3*45)/34^555)
  1190.                   (34+667*668)/exp(8)
  1191.          Hinweis: es können auch Konstanten ("c_a..c_z") verwendet werden, die
  1192.                   global definiert sind, z.B.
  1193.  
  1194.                    "c_a=3*Pi/Sqrt(2)
  1195.                    "plot(0,c_a*sin(x),0..Pi)"
  1196.  
  1197.        Bemerkung: Beim Recording von Kommando-Zeilen werden automatisch
  1198.                   die durch diese Funktion gelieferten Ergebnisse als
  1199.                   Kommentare in die Datei eingefügt.
  1200.  
  1201.  3.4.2 LINREG
  1202. ---------------------------------------------------------------------------------
  1203.  
  1204.      Beschreibung: diese Funktion führt eine Lineare Regression an Daten durch
  1205.  
  1206.            Aufruf: LINREG(<Dateiname>,<Anstieg>,<Absolutglied>)
  1207.                   <Dateiname> - gültiger Dateiname ohne Anführungszeichen oder
  1208.                                 "ASL"
  1209.                   <Anstieg>   - gibt die OPlot-Konstante an, in der der berechnete
  1210.                                 Anstieg zurückgegeben werden soll
  1211.                   <Absolutglied> - dito für das Absolutglied
  1212.  
  1213.        Beispiele: LinReg(ram:data1,c_a,c_b)
  1214.                   LinReg(asl,c_m,c_n)
  1215.  
  1216.        Anwendung: Darstellung der Daten mit Regressionsgerade
  1217.  
  1218.                   1. "LinReg(ram:data2,c_m,c_n)"
  1219.                   Darauf folgt etwa folgende Ausgabe:
  1220.  
  1221.                     "C_M = 5.7966779
  1222.                      C_N = -2.889009
  1223.  
  1224.                      DATA-Ranges:        \  
  1225.                       XMIN= -2.67655      |  Das sind die vom Programm automatisch
  1226.                       XMAX=  56.66331      > ermittelten Werte-Bereiche
  1227.                       YMIN=  13.5776      |     
  1228.                       YMAX=  47.6777"    /
  1229.                        
  1230.                   2. "set(plotstyle=point)
  1231.                       plotd(0,ram:data2,-3..57,12..48)" (Runden ist angebracht)
  1232.  
  1233.                   3. "set(plotstyle=lines)
  1234.                       plot(1,c_m*x+c_n,-3..57,12..48)" (Regressionsgerade)
  1235.  
  1236.        Einfacher geht's kaum !
  1237.  
  1238.  3.5 Display-bearbeitende Funktionen
  1239. =================================================================================
  1240.  
  1241.  3.5.1 OPENDISPLAY
  1242. ---------------------------------------------------------------------------------
  1243.  
  1244.      Beschreibung: Öffnet ein spezifiertes Display und gibt die DisplayNummer
  1245.                    zurück, die von den meisten anderen Funktionen als Argument
  1246.                    verlangt wird
  1247.  
  1248.            Aufruf: OPENDISPLAY(<hmode>,<vmode>)
  1249.  
  1250.        Beispiele: opendisplay(hires,lace)
  1251.                   opend(custom,custom)
  1252.  
  1253.  3.5.2 CLOSEDISPLAY
  1254. ---------------------------------------------------------------------------------
  1255.  
  1256.      Beschreibung: schließt spezifiziertes Display 
  1257.  
  1258.         Bemerkung: Wird als Parameter 0 angegeben, so werden alle geöffneten
  1259.                    Displays geschlossen.
  1260.                    Bei der Beendigung des Programms werden automatisch alle
  1261.                    noch offenen Displays geschlossen.
  1262.  
  1263.            Aufruf: CLOSEDISPLAY(<DisplayNummer>)
  1264.  
  1265.        Beispiele: closedisplay(3)
  1266.                   close(0)
  1267.  
  1268.  3.5.3 ABOUTDISPLAY
  1269. ---------------------------------------------------------------------------------
  1270.  
  1271.      Beschreibung: zeigt einige Informationen über ein Display an
  1272.  
  1273.            Aufruf: ABOUTDISPLAY(<DisplayNummer>)
  1274.  
  1275.        Beispiele: aboutdisplay(8)
  1276.                   aboutd(4)
  1277.  
  1278.  3.5.4 SHOWDISPLAY
  1279. ---------------------------------------------------------------------------------
  1280.  
  1281.      Beschreibung: bringt ein Display in den Vordergrund (nützlich in Batch-Files)
  1282.  
  1283.            Aufruf: SHOWDISPLAY(<DisplayNummer>)
  1284.  
  1285.        Beispiele: showdisplay(3)
  1286.                   show(8)
  1287.  
  1288.  3.5.5 BACKDISPLAY
  1289. ---------------------------------------------------------------------------------
  1290.  
  1291.      Beschreibung: brint ein Display in den Hintergrund (Batch-Files)
  1292.  
  1293.            Aufruf: BACKDISPLAY(<DisplayNummer>)
  1294.  
  1295.        Beispiele: backdisplay(7)
  1296.                   back(5)
  1297.  
  1298.  3.5.6 SAVEDISPLAY
  1299. ---------------------------------------------------------------------------------
  1300.  
  1301.      Beschreibung: speichert ein Display als ILBM-Datei ab
  1302.            Aufruf: SAVEDISPLAY(<DisplayNummer>,<Dateiname>)
  1303.  
  1304.                   Dateiname: ein korrekter Dateiname oder
  1305.                              'ASL' (öffnen eines Dateiauswahlrequesters)
  1306.  
  1307.        Beispiele: savedisplay(2,ram:test)
  1308.                   save(3,asl)
  1309.  
  1310.  3.5.7 PRINT
  1311. ---------------------------------------------------------------------------------
  1312.  
  1313.      Beschreibung: druckt ein Display aus
  1314.  
  1315.            Aufruf: PRINT(<DisplayNummer>)
  1316.  
  1317.        Bemerkung: Bevor das Display gedruckt wird, werden alle unnützen Ränder
  1318.                   etc. beseitigt und die Farben werden in Schwarz-Weiß konvertiert
  1319.                   (Ausgabe auf einem Farbdrucker kann über den Umweg DPaint
  1320.                    erfolgen - ist aber bloße Spielerei).
  1321.  
  1322.                   Mit dem Programm "Prefs:PrinterGFX" sollte folgendes
  1323.                   eingestellt worden sein.
  1324.  
  1325.                       IMAGE: <POSITIVE>"
  1326.                       SHADE: <BLACK&WHITE>"
  1327.                      LIMITS: <IGNORE>"
  1328.              CENTER PICTURE: <Yes>"
  1329.                     DENSITY: <5> (guter Wert bei einem Tintenstrahler)" .
  1330.  
  1331.          Beispiel: print(8)
  1332.  
  1333.  
  1334.  3.6 Andere Funktionen
  1335. =================================================================================
  1336.  
  1337.  3.6.1 LOGIN
  1338. ---------------------------------------------------------------------------------
  1339.      Beschreibung: fragt nach dem User-Namen (wird in die Datenfiles geschrieben)
  1340.  
  1341.  3.6.2 SET
  1342. ---------------------------------------------------------------------------------
  1343.  
  1344.      Beschreibung: dies ist eine der wichtigsten Funktionn von OPlot; mit ihr
  1345.                    können die globalen Variablen verändert
  1346.  
  1347.            Aufruf: SET(<Variable>=<Wert>
  1348.  
  1349.        Beispiele: set(hmode=hires)
  1350.                   set(hmode=custom)
  1351.  
  1352.                   set(vmode=nolace)
  1353.                   set(vmode=custom)
  1354.  
  1355.                   set(overscan=true)
  1356.                   set(overscan=t)
  1357.  
  1358.                   set(custwidth=1000)
  1359.  
  1360.                   set(custheight=2000)
  1361.  
  1362.                   set(dmode=normal)
  1363.                   set(dmode=n)
  1364.                   set(dmode=a)
  1365.  
  1366.                   set(output=false)
  1367.  
  1368.                   set(outputfile=ram:cont2)
  1369.  
  1370.                   set(angles=deg)
  1371.                   set(angles=r)
  1372.  
  1373.                   set(xcol=2)
  1374.  
  1375.                   set(ycol=1)
  1376.  
  1377.                   set(xsort=t)
  1378.  
  1379.                   set(ysort=f)
  1380.  
  1381.                   set(autoclear=t)
  1382.  
  1383.                   set(drawaxis=t)
  1384.  
  1385.                   set(drawgt=f)
  1386.  
  1387.                   set(graphtitle="sin(7x)+5")
  1388.  
  1389.                   set(title="SPLINES - Contouring data")
  1390.  
  1391.                   set(polar=t)
  1392.  
  1393.                   set(keepcharsize=f)
  1394.  
  1395.                   set(cborder=true)
  1396.  
  1397.                   set(cbleft=20)
  1398.  
  1399.                   set(cbtop=20)
  1400.  
  1401.                   set(cbright=1000)
  1402.  
  1403.                   set(cbbottom=400)
  1404.  
  1405.                   set(tickmode=cust)
  1406.                   set(tickmode=au)
  1407.  
  1408.                   set(xticks=12)
  1409.  
  1410.                   set(yticks=8)
  1411.  
  1412.                   set(xticklen=2.0)
  1413.  
  1414.                   set(yticklen=1.5)
  1415.  
  1416.                   set(xlabel="t")
  1417.  
  1418.                   set(ylabel="ln(t)")
  1419.  
  1420.                   set(xlogscale=t)
  1421.  
  1422.                   set(ylogscale=f)
  1423.  
  1424.                   set(xlogbase=ten)
  1425.  
  1426.                   set(ylogbase=two)
  1427.  
  1428.                   set(bsplineorder=5)
  1429.  
  1430.                   set(plotstyle=points)
  1431.                   set(plotstyle=impulses)
  1432.  
  1433.                   set(pointtype=box2)
  1434.                   set(pointtype=circle2)
  1435.  
  1436.                   set(pointmode=filled)
  1437.                   set(pointmode=d)
  1438.  
  1439.                   set(pointsize=14)
  1440.  
  1441.                   set(centerxlabel=true)
  1442.  
  1443.                   set(AThickness=5)
  1444.  
  1445.  3.6.3 SHOW
  1446. ---------------------------------------------------------------------------------
  1447.  
  1448.      Beschreibung: zeigt den Wert einer OPlot-Variablen an
  1449.            Aufruf: SHOW(<Variable>)
  1450.                   <Variable> ( SHOW() muß nicht angeben werden)
  1451.  
  1452.        Beispiele: show(xlabel)
  1453.                   xlogbase
  1454.                   hmode
  1455.  
  1456.  3.6.4 EXECUTE
  1457. ---------------------------------------------------------------------------------
  1458.  
  1459.      Beschreibung: führt eine Batch-Datei aus (ARexx-Ersatz)
  1460.  
  1461.            Aufruf: EXECUTE(<Dateiname>)
  1462.  
  1463.                   Dateiname: ein korrekter Dateiname oder
  1464.                              'ASL' (FileRequester)
  1465.  
  1466.         Bemerkung: Abbruch mit <Ctrl-C> ist möglich, führt aber zur Beendigung des
  1467.                    Programms
  1468.  
  1469.        Beispiele: execute(ram:test.bat)
  1470.                   exec(asl)
  1471.  
  1472.  3.6.5 !
  1473. ---------------------------------------------------------------------------------
  1474.  
  1475.      Beschreibung: führt eine DOS-Kommando-Zeile aus
  1476.  
  1477.           Aufruf: !<DOS-Kommando-Zeile>
  1478.  
  1479.        Bemerkung: Damit diese Funktion auch Ausgaben liefern kann (!dir ram:),
  1480.                   muß OPlot von der Shell aus gestartet worden sein.
  1481.                   Der CD-Befehl (z.B. !cd ram:) wird abgefangen, da er wirkunglos
  1482.                   ist.
  1483.                   (Siehe 3.6.6)
  1484.  
  1485.        Beispiele: !run c:ed
  1486.                   !makedir hd0:tmp
  1487.  
  1488.  3.6.6 CD
  1489. ---------------------------------------------------------------------------------
  1490.  
  1491.      Beschreibung: ändert das aktuelle Verzeichnis
  1492.  
  1493.           Aufruf: CD <Verzeichnis> oder CD asl
  1494.  
  1495.        Beispiele: cd ram:t
  1496.                   cd asl
  1497.  
  1498.  3.6.7 AVAILMEM
  1499. ---------------------------------------------------------------------------------
  1500.  
  1501.      Beschreibung: zeigt den noch zur Verfügung stehenden Systemspeicher an
  1502.  
  1503.            Aufruf: AVAILMEM
  1504.  
  1505.  3.6.8 ?
  1506. ---------------------------------------------------------------------------------
  1507.  
  1508.      Beschreibung: Online-Help-Funktion
  1509.  
  1510.            Aufruf: ?<OPlot-Funktion>
  1511.  
  1512.        Beispiele: ?plot
  1513.                   ?set
  1514.  
  1515.  3.6.9 HELP
  1516. ---------------------------------------------------------------------------------
  1517.  
  1518.      Beschreibung: Generelle Hilfe
  1519.            Aufruf: HELP
  1520.  
  1521.  3.6.10 EXAMPLE
  1522. ---------------------------------------------------------------------------------
  1523.  
  1524.      Beschreibung: zeigt einige Beispiele zu einer spezifizierten OPlot-Funktion an
  1525.  
  1526.            Aufruf: EXAMPLE(<OPlot-Funktion>)
  1527.  
  1528.        Beispiele: example(show)
  1529.                   example(plotdata)
  1530.  
  1531.  3.6.11 PAUSE
  1532. ---------------------------------------------------------------------------------
  1533.  
  1534.      Beschreibung: Wartet eine spezifizierte Anzahl von Sekunden (Batch-Files)
  1535.  
  1536.            Aufruf: PAUSE(<Anzahl von Sekunden>)
  1537.  
  1538.          Beispiel: pause(8)
  1539.  
  1540.  3.6.12 RESPONSE
  1541. ---------------------------------------------------------------------------------
  1542.  
  1543.      Beschreibung: Wartet auf das Drücken der <RETURN>-Taste. (Batch-Files)
  1544.  
  1545.            Aufruf: RESPONSE
  1546.  
  1547.  3.6.13 STARTOUTPUT 
  1548. ---------------------------------------------------------------------------------
  1549.  
  1550.      Beschreibung: Startet das Kommando-Zeilen-Recording, d.h. alle ab dem Aufruf
  1551.                    dieser Funktionen eingegeben Kommandozeilen werden in
  1552.                    eine Datei geschrieben (<OUTPUTFILE.Nummer>), die dann später
  1553.                    als Batch-Datei verwendet werden kann
  1554.  
  1555.            Aufruf: STARTOUTPUT
  1556.  
  1557.  3.6.14 STOPOUTPUT 
  1558. ---------------------------------------------------------------------------------
  1559.  
  1560.      Beschreibung: beendet das Kommando-Zeilen-Recording und setzt die Nummer am
  1561.                    Dateinamen hoch, sodaß bei nochmaligem Aufruf von
  1562.                    STARTOUTPUT die alte Datei erhalten bleibt.
  1563.  
  1564.         Bemerkung: diese Funktion wird bei der Beendigung des Programms automatisch
  1565.                    aufgerufen
  1566.  
  1567.            Aufruf: STOPOUTPUT
  1568.  
  1569.  3.6.15 ABOUT
  1570. ---------------------------------------------------------------------------------
  1571.  
  1572.      Beschreibung: zeigt die aktuelle Versionsnummer und die Hardware-
  1573.                    Voraussetzungen von OPlot an
  1574.  
  1575.  
  1576.            Aufruf: ABOUT
  1577.  
  1578.  3.6.16 EXIT 
  1579. ---------------------------------------------------------------------------------
  1580.  
  1581.      Beschreibung: beendet OPlot
  1582.  
  1583.            Aufruf: EXIT oder
  1584.                   QUIT
  1585.  
  1586.  3.6.17 MACRO
  1587. ---------------------------------------------------------------------------------
  1588.  
  1589.      Beschreibung: Diese Funktion stellt einige oft benutzte Settings bereit
  1590.  
  1591.            Aufruf: MACRO für Menü oder
  1592.                    MACRO <MenüEintrag>
  1593.  
  1594.  4 DATEI-EXPORT
  1595. #################################################################################
  1596.  
  1597.  4.1 PDraw-Genies
  1598. =================================================================================
  1599.  
  1600.       Bemerkungen: ProDraw-Genies sind ARexx-Dateien, die entweder von der Shell
  1601.                    oder direkt von Professional Draw aus ausgeführt werden können.
  1602.                    Die von OPlot erzeugten Genies erzeugen in PDraw fast identische
  1603.                    Bilder wie die von OPlot direkt erzeugten - alle Linien bleiben
  1604.                    aber anders als bei OPlot in ihrer Vektorform bestehen.
  1605.                    Dadurch ergeben sich u.a. folgende Möglichkeiten:
  1606.  
  1607.                      -kantenfreier High-End-Ausdruck 
  1608.                      -verlustfreie Skalierung, Rotation u.a.
  1609.                      -PDraw-Clips lassen sich in gänginge DTP-Programme laden .
  1610.  
  1611.   Einschränkungen: keine
  1612.  
  1613.      Bemerkungen2: Titel und Label sollten bei der Verwendung von Genies nicht von
  1614.                    von OPlot erzeugt werden; es empfielt sich vielmehr diese von
  1615.                    Hand unter Benutzung hochwertiger CG-Fonts zu plazieren.
  1616.                    Nach dem Abschluß des Zeichenvorgangs sollten alle Linien
  1617.                    etc. unter Benutzung der Funktion "select all" gruppiert werden.
  1618.      
  1619.                    Die verwendete Punktzahl sollte 1000 Punkte nicht überschreiten,
  1620.                    anderenfalls ist es effizienter (Aufwand/Leistung), eine große
  1621.                    Bitmap (3000X3000 Punkte) zu erzeugen und direkt auszudrucken.
  1622.  
  1623.                    Bei jedem Plot-Aufruf wird eine neue Datei erzeugt (diese werden
  1624.                    durchnummeriert), dies dient u.a. der Übersichtlichkeit.                
  1625.  
  1626.    ProDraw-Import: Um nun das Bild in PDraw zeichnen zu lassen müssen folgende
  1627.                    Voraussetzungen erfüllt sein:
  1628.  
  1629.                     - die Programme "PDraw" und 
  1630.                     - "sys:system/RexxMast" müssen gestartet worden sein,              
  1631.                     - der Befehl "rx" muß sich im aktuellen Suchpfad befinden.
  1632.  
  1633. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1634.  
  1635.                    Handelt es sich um einzelne Datei (ein einmaliger Plot-Aufruf),
  1636.                    so kann das Script mit
  1637.  
  1638.                    "rx <Dateiname>", z.B. "rx ram:OPout.PD1", ausgeführt werden.
  1639.  
  1640.                    Das Zeichnen kann nun bis zu fünf Minuten dauern, erscheint in 
  1641.                    der Shell wieder das Prompt, so kann das Bild sofort durch 
  1642.                    Drücken der <F1>-Taste in ProDraw ausgedruckt werden.
  1643.                    
  1644. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1645.  
  1646.                    Hat man mehrere Dateien, so empfielt es sich, eine Batchdatei
  1647.                    zu schreiben.
  1648.  
  1649.                    Beispiel:
  1650.  
  1651.                    Folgende Anweisungsfolge in OPlot 
  1652.  
  1653.                     "set(fout=t)"
  1654.                     "set(ftype=p)"
  1655.                     "set(pcount=40)"
  1656.                     "plot(0,sin(x),-2..3,plotstyle=p,drawaxis=f)"
  1657.                     "plot(1,sin(x),-2..3,plotstyle=l,drawaxis=f)"
  1658.                     "plot(1,sin(x),-2..3,plotstyle=i)"
  1659.  
  1660.                    führt zur Erzeugung der Dateien
  1661.                  
  1662.                     "ram:OPout.PD1", "ram:OPout.PD2" und "ram:Opout.PD3".
  1663.  
  1664.                    Nun sollte man folgende Batch-Datei schreiben:
  1665.  
  1666.                     "rx ram:Opout.PD1"
  1667.                     "rx ram:Opout.PD2"
  1668.                     "rx ram:Opout.PD3"
  1669.  
  1670.                    und diese mit "execute <Batch-Datei-Name>" ausführen.
  1671.                    Nun dauert das Zeichnen entsprechend länger - deshalb ist
  1672.                    es nützlich, eine Batch-Datei zu verwenden.
  1673.  
  1674. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1675.                    
  1676.                    Eine andere Möglichkeit besteht darin, die einzelnen Dateien
  1677.                    zu verbinden; z.B.:
  1678.  
  1679.                    unter Verwendung der im obigen Beispiel verwendeten Dateien:
  1680.  
  1681.                     "join ram:OPout.PD1 ram:OPout.PD2 ram:OPout.PD3 as ram:OplotPD"
  1682.                     "rx ram:OplotPD", 
  1683.  
  1684.                    wobei die Reihenfolge beim Verbinden keine Rolle spielt.
  1685.  
  1686. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1687.  
  1688.           Hinweis: Der Zeichenvorgang kann jederzeit abgebrochen werden; es
  1689.                    muß das Programm "HI" (meistens in "sys:rexxc") gestartet
  1690.                    werden.
  1691.                    
  1692.  
  1693.      Bemerkungen3: Das ganze scheint etwas aufwendig - einfacher wäre es doch
  1694.                    ProDraw-Clips gleich von Oplot aus zu erzeugen.
  1695.                    Einfacher - aber nicht flexibel.
  1696.  
  1697.                    Die erzeugten ProDraw-Genies lassen sich nämlich einfach
  1698.                    in alle möglichen Formate umwandeln (von kleinen selbst-
  1699.                    geschriebenen Utilities oder Arexx/Editor-Scripts), da
  1700.                    sie in verständlicher Syntax Befehle zum Zeichnen von
  1701.                    Linien, Kreisen und Rechtecken - sonst nichts - enthalten.
  1702.  
  1703.  
  1704.  4.2 HPGL-Dateien
  1705. =================================================================================
  1706.  
  1707.  Dieses Format macht es jedem Benutzer möglich, kantenfreie Ausdrucke zu
  1708.  erzielen - auch wenn er keinen Plotter besitzt - über Benutzung des 
  1709.  PLT-Devices.
  1710.  
  1711.  Außerdem gibt es Programme, die das HPGL-Format in das Postscript-Format
  1712.  umwandeln (siehe 4.4).
  1713.  
  1714.  
  1715.   BENUTZUNG DES PLT:-DEVICES
  1716. --------------------------------------------------------------------------------- 
  1717.  
  1718.  Zuerst sind alle benötigten Dateien wie in der Anleitung 'PLT_doc' beschrieben 
  1719.  in die richtigen Verzeichnisse zu kopieren, und das PLT:-Device ist zu "mounten".
  1720.  
  1721.  Um nun den Plot zu Papier zu bringen genügt die Kommandozeile
  1722.  
  1723.   "copy <HPGL-Datei> plt:".
  1724.  
  1725.  
  1726.  
  1727.  Um eine angenäherte Kompatibilität zu den OPlot-Liniendicken herzustellen ist 
  1728.  die MountList bzw. die Datei 'devs:dosdrivers/PLT'  wie folgt zu modifizieren.
  1729.  
  1730.         /* Mount Entry for HP Plotter driver for WB Printer */
  1731.  
  1732.          Handler   = l:plt-handler
  1733.          Startup   = P/000-1/000-2/000-3/000-4/000-5/000-6/000-7/000-8
  1734.          Stacksize = 5000
  1735.          Priority  = 5
  1736.          GlobVec   = 1    
  1737.  
  1738.  Es empfielt sich, zwei PLT:-Devices zu verwenden, eines welches die Plots
  1739.  als Previews auf einem Screen darstellt und ein anderes, welches die
  1740.  Ausgabe zum Drucker ausführt.
  1741.  Für das Preview-PLT:-Device (ich nenne es PLTP:) ist etwa folgender Eintrag
  1742.  in der Mountlist einzutragen:
  1743.  
  1744.         /* Mount Entry for HP Plotter driver for WB Printer (Preview only) */
  1745.  
  1746.          Handler   = l:plt-handler
  1747.          Startup   = SP/000-1/000-2/000-3/000-4/000-5/000-6/000-7/000-8
  1748.          Stacksize = 5000
  1749.          Priority  = 5
  1750.          GlobVec   = 1    .
  1751.  
  1752.  Von OS3.0-Besitzern muß eine Datei namens "devs:dosdrivers/PLTP" vorangestellten
  1753.  Inhalts erzeugt werden.
  1754.  
  1755.  Nun kann man fast nach dem WYSIWYG-Prinzip arbeiten:
  1756.  
  1757.   "copy <HPGL-Datei> pltp:" - ist das Ergebnis zufriedenstellend, so kann
  1758.                               es zu Papier gebracht werden:
  1759.   "copy <HPGL-Datei> plt:".
  1760.  
  1761.  4.3 EEPic-Dateien
  1762. =================================================================================
  1763.  
  1764.  Dieses Format macht die Einbindung von Plots in LaTeX möglich.
  1765.  
  1766.  Einschränkungen: Es sind nur drei unterschiedliche Liniendicken vorhanden,
  1767.                   die vom Programm (PDG2EEPic) selbst ausgewählt werden. 
  1768.                   Die Qualität von Ellipsen genügt nicht absolut professionellen
  1769.                   Ansprüchen.
  1770.         Vorteile: Das Aufwand/Leistungs-Verhältnis ist unerreicht gut:
  1771.                   Die Qualität ist viel besser als beim direkten Bitmap-Ausdruck,
  1772.                   die mehr benötigte Zeit (Konvertieren, Compilieren, Ausdrucken)
  1773.                   beträgt bei guter Organisation nicht mehr als 5 min.
  1774.  
  1775.  BENUTZUNG DER ERZEUGTEN SCRIPTS
  1776. ---------------------------------------------------------------------------------
  1777.  VORAUSSETZUNGEN
  1778.  
  1779.  - Hardware (absolutes Minimum): 
  1780.  
  1781.     HD: 5 MB 
  1782.    RAM: 3 MB 
  1783.  
  1784.   -Software
  1785.  
  1786.    PasTeX, MetaFont, ShowDVI, DVIPrint, SpecialHost
  1787.    
  1788.   -Makros
  1789.  
  1790.    LaTeX, EPic, EEPic
  1791.  
  1792.  Die von OPlot erzeugten EEPic-Dateien sind vollständige Dokumente, d.h., 
  1793.  sie können sofort durch
  1794.  
  1795.  "virtex &glplain <EEPicfile>" 
  1796.  
  1797.  compiliert werden. 
  1798.  Als Ergebnis erhält man eine Seite, die die Grafik enthält. Diese kann
  1799.  mit DVIPrint ausgedruckt werden nachdem das Programm Specialhost 
  1800.  gestartet wurde.
  1801.  
  1802.  Hinweis: Das Programm SpecialHost muß beim Verarbeiten des DVI-Files
  1803.           (durch ShowDVI oder DVIPrint) IMMER im Hintergrund laufen -
  1804.           sonst ist außer der Seitenzahl nichts zu sehen.
  1805.  
  1806.  Die Bilder können natürlich auch innerhalb von richtigen Dokumenten verwendet 
  1807.  werden.
  1808.  Dazu müssen alle Zeilen, die außerhalb des picture-Blocks stehen, entfernt 
  1809.  werden (die ersten drei und die letzte). Skalierungen werden durch Veränderung 
  1810.  der Einheit des Koordinatensystems erreicht:
  1811.  
  1812.   "\setlength{\unitlength}{0.6in}"
  1813.                             ^ 
  1814.  
  1815.  4.4 Postscript-Dateien
  1816. =================================================================================
  1817.  
  1818.  Es gibt ein Programm namens "HPGL2PS", mit dem man die von OPlot erzeugten
  1819.  HPGL-Dateien in Postscript-Files umwandeln kann.
  1820.  Dies ist besonders für Besitzer eines HP Deskjet nützlich, die sich dann 
  1821.  nur noch "Ghostscript" besorgen müssen, um die Files auszudrucken.
  1822.  
  1823.  Somit sollte sich jetzt endgültig jedes Ausgabegerät (sei es virtuell
  1824.  oder nicht) für OPlot nutzen lassen.
  1825.  
  1826.  5 MATHEMATISCHE FUNKTIONEN UND KONSTANTEN
  1827. #################################################################################
  1828.  
  1829.  1. Vordefinierte Konstanten                                                            *)
  1830.  
  1831.    'pi': 3.141592653589793
  1832.    'ee': 2.718281828459045
  1833.  
  1834.  2. Benutzerdefinierte Konstanten
  1835.  
  1836.    'c_a', 'c_b', 'c_c', ... , 'c_z'
  1837.  
  1838.  3. Operatoren                                                            
  1839.                                                                          
  1840.   '+','-', '*', '/', '^'
  1841.  
  1842.  4. Funktionen
  1843.  
  1844.   'sin(x)', 'cos(x)', 'tan(x)', 'cot(x)'
  1845.   'asn(x)', 'acs(x)', 'atn(x)', 'act(x)' 
  1846.  
  1847.   'sinh(x)', 'cosh(x)', 'tanh(x)', 'coth(x)'
  1848.   'asnh(x)', 'acsh(x)', 'atnh(x)', 'acth(x)'
  1849.  
  1850.   'ln(x)', 'log(x)'
  1851.   'exp(x)'
  1852.   'sqrt(x)'
  1853.  
  1854.   'abs(x)', 'sign(x)'
  1855.   'int(x)' (Rundet das Argument)
  1856.   'rnd(x)' (Liefert Zufallszahl zwischen 0 und int(x))
  1857.  
  1858.  Konvention:
  1859.  
  1860.   sqrt(x)=0 für x<0 (ist für die meisten Anwendungen (Phasenraum) am günstigsten)
  1861.   
  1862.  6 ÜBER OPLOT
  1863. #################################################################################
  1864.  
  1865.  OPlot ist ein Programm, das während der praktischen Anwendung entwickelt
  1866.  wird, d.h. wenn während der Arbeit ein Fehler entdeckt wird oder ein
  1867.  Feature fehlt, so wird der Fehler sofort beseitigt bzw. das Feature 
  1868.  implementiert.
  1869.  Anwendung findet es bei mir im Rahmen eines physikalischen Praktikums, wo
  1870.  es sich gegen Konkurrenten wie "MathCAD" und "Axum" durchzusetzen hatte.
  1871.  
  1872.  Das Programm ist vollständig in OBERON-2 geschrieben, die Länge des Quelltextes
  1873.  beträgt etwa 16000 Zeilen (520 K).
  1874.  
  1875. ---------------------------------------------------------------------------------
  1876. COPYRIGHT
  1877.  Alle Prozeduren und Algorithmen habe ich selbst entworfen bzw. habe auf
  1878.  u.g. Literatur zurückgegriffen - mit einer Ausnahme: die WriteILBM-Prozedur
  1879.  ist von Fridtjof Siebert geschrieben worden (IFFSupport1.8). (Danke - denn
  1880.  mir ist es bis heute nicht gelungen eine so schnelle Kompressionsroutine
  1881.  (in OBERON) zu schreiben.)
  1882.  
  1883.  Also hat niemand außer mir und F. Siebert irgendwelche Rechte an OPlot.
  1884.  Solange ich OPlot nicht kommerziell vertreibe habe ich allein Rechte an
  1885.  diesem Programm.
  1886.  
  1887.  Einige Ideen beim Design des User-Interfaces habe ich von MapleV übernommen.
  1888.  
  1889. LITERATURVERZEICHNIS
  1890.  
  1891.  Luther, Wolfram:
  1892.   Mathematische Grundlagen der Computergrafik/
  1893.   Wolfram Luther; Martin Ohsmann.- 2., verb. Aufl.-
  1894.   Braunschweig; Wiesbaden: Vieweg, 1989
  1895.  
  1896.  Bronstein, Il'ja Nikolaevic:
  1897.   Taschenbuch der Mathematik/I.N. Bronstein;
  1898.   K.A. Semendjajew. Hrsg. von G.Grosche, V. Ziegler u. D.Ziegler. - 24.Aufl.
  1899.   Leipzig: BSB Teubner, 1989,- XII, 840 S.: 390 Abb.
  1900.  
  1901.  Gzella, Holger:
  1902.   AMIGA-Grafik-Programmierung: vollständige Dokumentation der
  1903.   Hard- und Software für Amiga-Grafik/ Holger Gzella.-
  1904.   Haar bei München: Markt-u.-Technik-Verl., 1990
  1905.  
  1906.  
  1907.  7 QUELLEN UNTERSTÜTZENDER SOFTWARE
  1908. #################################################################################
  1909.  
  1910.  Alle Informationen beziehen sich auf das Aminet, 
  1911.   z.B. Kaiserlautern 131.246.9.95:  
  1912.  
  1913.  -PLT-Device und HPGL2PS:
  1914.         Pfad: pub/aminet/misc/sci/MultiPlot.lha oder
  1915.               pub/aminet/misc/math/MultiPlot.lha
  1916.  
  1917.   Bem.: Multiplot ist auch ein Plot-Programm (mit Soundausgabe (!)), das
  1918.         durchaus für Computereinsteiger zu empfehlen ist.
  1919.         In diesem Archiv befinden sich aber auch die besagten Dateien.
  1920.         
  1921.  -GhostScript:
  1922.         Pfad: pub/aminet/util/gnu/ags-261.lha
  1923.                                      ^
  1924.                                  so ähnlich
  1925.  
  1926. ---------------------------------------------------------------------------------
  1927.  -PasTeX: ACHTUNG: Vor kurzem ist eine neue (Beta)-Version von
  1928.                    PasTeX erschienen, wovon auf jeden Fall das Programm
  1929.                    "SpecialHost" interessant ist.
  1930.           Die Quelle ist mir leider unbekannt, aber in Passau im Aminet
  1931.           wird es schon zu finden sein.
  1932.  
  1933.  
  1934.  8 COPYRIGHTS
  1935. #################################################################################
  1936.  
  1937.  Professional Draw V3.0 ("ProDraw", "PDraw") - Copyright © 1993 by GoldDisk Inc.
  1938.  
  1939.  MapleV - Copyright © 1981-1990 by the University of Waterloo.
  1940.  MAPLE is a registered trademark of Waterloo Maple Software.
  1941.  
  1942.  ShowDVI, DVIPrint - Copyright © 199? by Georg Heßmann
  1943.  See the PasTeX-Docs for more information.
  1944.  
  1945. ---------------------------------------------------------------------------------
  1946.  
  1947.                       A.Maschke - 22-06-94
  1948.  
  1949.  
  1950.  
  1951.  
  1952.  
  1953.  
  1954.  
  1955.  
  1956.  
  1957.  
  1958.  
  1959.  
  1960.  
  1961.  
  1962.  
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.  
  1976.  
  1977.