home *** CD-ROM | disk | FTP | other *** search
- (*****************************************************************************)
- (* *)
- (* --- DRAW.INC --- *)
- (* *)
- (* Unterprogramm-Modul zum Zeichnen der Funktion *)
- (* *)
- (*****************************************************************************)
-
-
- Procedure PlotFunction;
-
-
- Var xmin,xmax,
- ymin,ymax,
- dx,dy,x,d :Real;
- s :Integer;
-
-
- (* Hier beginnt der hardwareabhaengige Teil *)
-
- Const ScreenXMax = 639; (* Anzahl Bildpunkte horizontal *)
- ScreenYMax = 199; (* vertikal *)
- Left = 16; (* Abstand Zeichenflaeche-linker Bildschirmrand *)
- Bottom = 16; (* -unterer *)
- Unit = 4; (* halbe Breite der Achsenunterteilungsstriche *)
-
-
- Procedure InitGraphic; (* Voreinstellungen fuer Grafikbetrieb *)
-
- Begin
- HiRes; (* aktiviert 640 x 200 Graphikmodus *)
- HiResColor(White); (* Weiss auf schwarzem Hintergrund *)
- End;
-
-
- Procedure LeaveGraphic; (* Voreinstellungen fuer Textbetrieb *)
-
- Begin
- TextMode; (* letzten Textmodus reaktivieren *)
- End;
-
- (* Die Prozeduren 'Plot' und 'Draw' entfallen hier, da in Turbo-Pascal
- unter MS-DOS implementiert. Allerdings muessen die Aufrufe der zwei
- Prozeduren um einen Farb-Parameter erweitert werden (s. Handbuch). *)
-
-
- (* hier endet der hardwareabhaengige Teil *)
-
-
- Procedure WorldToScreen (x,y :Real; Var xs,ys :Integer);
-
- Begin
- xs := round((x - xmin)*(ScreenXMax-Left)/(xmax-xmin)) + Left;
- ys := round((y - ymin)*(ScreenYMax-Bottom)/(ymax-ymin)) + Bottom;
-
- (* y-Koordinate spiegeln, wenn Ursprung in linker, oberer Ecke ! *)
- ys := ScreenYMax - ys;
- End;