home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1987 / 12 / sharpdem.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1987-09-07  |  995 b   |  37 lines

  1. PROGRAM SHARPGrafik;
  2.  
  3. (*$I SHARPGRF.PAS *)
  4. CONST tn = 50;
  5. VAR   tx,ty,txp,typ,tk: INTEGER;
  6.       tmin, tmax      : ARRAY [-100..ScreenXmax] OF INTEGER;
  7.  
  8. FUNCTION z (x,y: INTEGER): INTEGER ;
  9. VAR a,b: REAL;
  10. BEGIN
  11.   a := (x-200)/100;  b := (y-50)/25;
  12.   z := Trunc(-150 * Exp(-Sqr(a) -Sqr(b)) +70 * Exp(-Sqr(a)/4-Sqr(b)/4));
  13. END;
  14.  
  15. PROCEDURE zeichne;
  16. BEGIN
  17.   IF tmax[txp] = 0 THEN BEGIN tmax[txp] := typ; tmin[txp] := typ END
  18.   ELSE IF typ > tmax[txp] THEN BEGIN tmax[txp] := typ END
  19.   ELSE IF (typ <tmin[txp]) AND (typ >= 0) THEN BEGIN tmin[txp] := typ END
  20.   ELSE Color(0);
  21.   SetPixel(txp,typ);
  22. END;
  23.  
  24. BEGIN
  25.   InitGrafik;
  26.   FOR tk := 0 TO ScreenXmax DO BEGIN tmin[tk] := 0;  tmax[tk] := 0;  END;
  27.   FOR tk := 0 TO tn DO BEGIN
  28.     ty := 100 * tk DIV tn;  tx := 0;
  29.     WHILE tx < 450 DO BEGIN
  30.       IF tx > 0 THEN Color(1) ELSE Color(0);
  31.       txp := 20+tx+ty;  typ := 50+ty+z(tx,ty);  zeichne;  tx := tx+2;
  32.     END;
  33.     Color(0);
  34.   END;
  35.   hardcopy;  Color(1);
  36. END.
  37.