home *** CD-ROM | disk | FTP | other *** search
- PROGRAM SHARPGrafik;
-
- (*$I SHARPGRF.PAS *)
- CONST tn = 50;
- VAR tx,ty,txp,typ,tk: INTEGER;
- tmin, tmax : ARRAY [-100..ScreenXmax] OF INTEGER;
-
- FUNCTION z (x,y: INTEGER): INTEGER ;
- VAR a,b: REAL;
- BEGIN
- a := (x-200)/100; b := (y-50)/25;
- z := Trunc(-150 * Exp(-Sqr(a) -Sqr(b)) +70 * Exp(-Sqr(a)/4-Sqr(b)/4));
- END;
-
- PROCEDURE zeichne;
- BEGIN
- IF tmax[txp] = 0 THEN BEGIN tmax[txp] := typ; tmin[txp] := typ END
- ELSE IF typ > tmax[txp] THEN BEGIN tmax[txp] := typ END
- ELSE IF (typ <tmin[txp]) AND (typ >= 0) THEN BEGIN tmin[txp] := typ END
- ELSE Color(0);
- SetPixel(txp,typ);
- END;
-
- BEGIN
- InitGrafik;
- FOR tk := 0 TO ScreenXmax DO BEGIN tmin[tk] := 0; tmax[tk] := 0; END;
- FOR tk := 0 TO tn DO BEGIN
- ty := 100 * tk DIV tn; tx := 0;
- WHILE tx < 450 DO BEGIN
- IF tx > 0 THEN Color(1) ELSE Color(0);
- txp := 20+tx+ty; typ := 50+ty+z(tx,ty); zeichne; tx := tx+2;
- END;
- Color(0);
- END;
- hardcopy; Color(1);
- END.