home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1987 / 03 / hotline2. < prev    next >
Encoding:
Text File  |  1987-02-03  |  2.1 KB  |  59 lines

  1. (*****************************************************************************)
  2. (*                                                                           *)
  3. (*                         ---  DRAW.INC  ---                                *)
  4. (*                                                                           *)
  5. (*               Unterprogramm-Modul zum Zeichnen der Funktion               *)
  6. (*                                                                           *)
  7. (*****************************************************************************)
  8.  
  9.  
  10. Procedure PlotFunction;
  11.  
  12.  
  13.    Var xmin,xmax,
  14.        ymin,ymax,
  15.        dx,dy,x,d  :Real;
  16.        s          :Integer;
  17.  
  18.  
  19.    (* Hier beginnt der hardwareabhaengige Teil *)
  20.  
  21.    Const ScreenXMax = 639;  (* Anzahl Bildpunkte horizontal                 *)
  22.          ScreenYMax = 199;  (*                   vertikal                   *)
  23.          Left       =  16;  (* Abstand Zeichenflaeche-linker Bildschirmrand *)
  24.          Bottom     =  16;  (*                       -unterer               *)
  25.          Unit       =   4;  (* halbe Breite der Achsenunterteilungsstriche  *)
  26.  
  27.  
  28.    Procedure InitGraphic;     (* Voreinstellungen fuer Grafikbetrieb *)
  29.  
  30.       Begin
  31.       HiRes;                  (* aktiviert 640 x 200 Graphikmodus *)
  32.       HiResColor(White);      (* Weiss auf schwarzem Hintergrund  *)
  33.       End;
  34.  
  35.  
  36.    Procedure LeaveGraphic;    (* Voreinstellungen fuer Textbetrieb *)
  37.  
  38.       Begin
  39.       TextMode;               (* letzten Textmodus reaktivieren *)
  40.       End;
  41.  
  42.    (* Die Prozeduren 'Plot' und 'Draw' entfallen hier, da in Turbo-Pascal
  43.       unter MS-DOS implementiert. Allerdings muessen die Aufrufe der zwei
  44.       Prozeduren um einen Farb-Parameter erweitert werden (s. Handbuch). *)
  45.  
  46.  
  47.    (* hier endet der hardwareabhaengige Teil *)
  48.  
  49.  
  50.    Procedure WorldToScreen (x,y :Real; Var xs,ys :Integer);
  51.  
  52.       Begin
  53.       xs := round((x - xmin)*(ScreenXMax-Left)/(xmax-xmin)) + Left;
  54.       ys := round((y - ymin)*(ScreenYMax-Bottom)/(ymax-ymin)) + Bottom;
  55.  
  56.       (* y-Koordinate spiegeln, wenn Ursprung in linker, oberer Ecke ! *)
  57.       ys := ScreenYMax - ys;
  58.       End;
  59.