Kebetulan tadi sempet copas materi yang didiskusikan di lab ke blog ini, tapi maaf ga semuanya ada. Perhatikan cara penulisannya yaaa, karna ini belum tentu benar, tapi secara garis besar rumus yang dikasih ibu itu seperti ini..
begin
with Image1.Canvas do
begin
Pen.Width:=10;
Pen.Color:=clBlack;
Brush.Color:=ClBlack;
Rectangle(0,0,500,250);
Pen.Color:=ClBlue;
for i:=1 to 240 do
begin
MoveTo(250-i,10);
LineTo(250-i,250);
MoveTo(250+i,10);
LineTo(250+i,250);
Tunda(0,10);
end;
end;
Teman-teman, ini adalah cara menyetting agar pusat koordinatnya menjadi di tengah:
Function CanvasX(LojikX:Double):Integer;
begin
result:=Round(LojikX + 300);
end;
Function CanvasY(LojikY:Double):Integer;
begin
result:=Round(200 - LojikY);
end;
Nah ini procedure bikin koordinatnya:
with Image1.canvas do
begin
MoveTo(CanvasX(-100),CanvasY(0)); //sumbu x
LineTo(CanvasX(100),CanvasY(0));
MoveTo(CanvasX(0),CanvasY(-100)); //sumbuy
LineTo(CanvasX(0),CanvasY(100));
Dan ini adalah cara membuat grafik kuadrat:
//plot grafik fungsi
For i:=-100 to 100 do
begin
Pixels[Canvasx(i),Canvasy(i*i)]:=clRed;
end;
end;
Supaya hasilnya lebih bagus, gambar grafik bisa diganti dengan perintah berikut:
//plot fungsi grafik
posx:=-100; //inisalisasi
while posx <= 100 do
begin
Pixels[Canvasx(posx),Canvasy(posx*posx)]:=clRed;
posx:=posx+0.1; //ditambah 0.1
end;
Ini procedure untuk program TUNDA:
procedure Tunda(Detik,MiliDetik:word);
var
TimeOut: TDateTime;
begin
TimeOut:=Now+EncodeTime(0,Detik div 60, Detik mod 60, MiliDetik);
while Now<TimeOut do
Application.ProcessMessages;
end;
Ini procedure bikin titik-titik pake pixel:
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
For i:=1 to 100 do
begin
Image1.Canvas.Pixels[i,i]:=clRed;
tunda(0,10);
end;
with image1.canvas do
begin
for i:=1 to 100 do
begin
moveto(1,1); lineto(i,i);
tunda(0,10);end;
end;
end;
SEMANGAT!
Tidak ada komentar:
Posting Komentar
Silakan meninggalkan komentar ^_^