unit Unit5; { This software has been designed and it is CopyLefted by Han de Bruijn: (===) @-O^O-@ #/_\# ### } INTERFACE uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, Grafisch, Laplace; type TForm1 = class(TForm) Image1: TImage; procedure Scheppen(Sender: TObject); procedure Toetsdruk(Sender: TObject; var Key: Char); private { Private declarations } public { Public declarations } end; var Form1: TForm1; IMPLEMENTATION {$R *.dfm} procedure Raster; { Draw Grid } var k : integer; begin Form1.Image1.Canvas.Pen.Width := 2; for k := 0 to Ny-1 do with Form1.Image1.Canvas do begin MoveTo(x2i(0),y2j(k)); LineTo(x2i(Nx-1),y2j(k)); end; for k := 0 to Nx-1 do with Form1.Image1.Canvas do begin MoveTo(x2i(k),y2j(0)); LineTo(x2i(k),y2j(Ny-1)); end; end; procedure Tekenen; { Draw Results } const A : integer = 5; var i,j : integer; x,y,start : double; begin start := 1.2*Nx; with Form1.Image1.Canvas do begin Pen.Width := 2; Pen.Color := clBlack; MoveTo(x2i(start),y2j(-A)); LineTo(x2i(start),y2j(Ny-1)); MoveTo(x2i(start+Nx-1),y2j(-A)); LineTo(x2i(start+Nx-1),y2j(Ny-1)); MoveTo(x2i(start),y2j(0)); LineTo(x2i(start+Nx-1),y2j(0)); end; for j := 0 to (Ny-1) div A do begin with Form1.Image1.Canvas do begin Pen.Width := 1; Pen.Color := clBlack; MoveTo(x2i(start),y2j(A*j)); LineTo(x2i(start+Nx-1),y2j(A*j)); Pen.Width := 2; Pen.Color := clRed; end; x := start; y := A*Laplace.b[nr(0,j*A)+1]+j*A; Form1.Image1.Canvas.MoveTo(x2i(x),y2j(y)); for i := 0 to Nx-1 do begin x := start+i; y := A*Laplace.b[nr(i,j*A)+1]+j*A; Form1.Image1.Canvas.LineTo(x2i(x),y2j(y)); end; end; end; procedure TForm1.Scheppen(Sender: TObject); { On Create } begin TV(Form1.Image1); ClearDevice; xmin := -6; xmax := 51; ymin := -6; ymax := 51; Nx := 20; Ny := 50; Starten; Raster; Rekenen; Tekenen; Form1.Image1.Picture.SaveToFile('cosine.bmp'); end; procedure TForm1.Toetsdruk(Sender: TObject; var Key: Char); { On KeyPress } begin Exit; end; END.