Procedure adatfeltoltes; {feltolti az fgv tombot adatokkal} {var ii,jj:real;} var i,j:integer; begin for i:=1 to n do for j:=1 to m do begin { ii:=-3+i*0.06; jj:=-3+j*0.06;} { fgv[i,j]:=sin(ii*ii*ii-jj*jj*jj);} { fgv[i,j]:=sin(ii*ii+jj*jj);} { fgv[i,j]:=sin(ii-jj);} { fgv[i,j]:=cos(ii*ii+jj*jj);} { fgv[i,j]:=sin(ii*ii*ii*ii-jj*jj*jj*jj);} fgv[i,j]:=random(255); end; end; {-adatfeltoltes vege-} procedure teglalap(a,b,c,d:integer; e:byte); {teglalap-rajzolas} begin setfillstyle(1,e); bar(a,b,c,d); setfillstyle(1,15-e); end; {-teglalaprajzolo eljaras vege-} Procedure Rajzolas; var i,j:integer; sk:integer; ok:integer; {sorkoz, oszlopkoz} sy,sx:integer; v:extended; {kicsit tobb, mint a valos} v1:real; sdb,odb:integer; szin,szinszam:byte; valtmax:real; function fgvaltmax:real; var i,j:integer; begin for i:=1 to n do begin for j:=2 to m do begin if ( (fgv[i,j]-fgv[i,j-1])>fgvaltmax ) then fgvaltmax:=fgv[i,j]-fgv[i,j-1]; end; end; end; {--fgvvaltmax vege--} begin {-rajzolas eljaras-} odb:=n; sdb:=m; {! Ezt ki kellene szamoltatni} szinszam:=random(128); sx:=640; sy:=480; sk:=round(sy/sdb); ok:=round(sx/odb); valtmax:=fgvaltmax; for i:=2 to sdb do begin for j:=2 to odb do begin delay(3); v1:=fgv[i,j]; v:=(2*v1-fgv[i,j-1]-fgv[i-1,j]+valtmax); { szin:=(abs( round(v/valtmax*szinszam) ) mod 128);} {setfillstyle(yellow,blue);} {! Itt a teglalap-rajyolast kellene meghivni, de me'g nem jottem ra, hogy hogyan...} putpixel(j*ok, sy-i*sk,white); end; end; end; {-rajzolas eljaras vege-}