Yang jadi amsalah kan yaaa gimana caranya bikin grafik yang
besar.. kalo skalanya sama kaya ukuran pixel canvasnya pasti grafiknya bakalan
mini banget, nah ini caranya.. kalian bisa utak atik sendiri:
Yang pertama adalah menyesuaikan titik pusat (0,0) jadi di
tengah, dengan cara:
Function Absis(LojikX:Double):Integer;
begin
result:=Round(LojikX + 300);
end;
Function Ordinat(LojikY:Double):Integer;
begin
result:=Round(200 - LojikY);
end;
untuk kata absis dan ordinat di atas, bisa disesuaikan
dengan kainginan kalian J
untuk angka 200 dan 300, kenapa harus segitu yaaaa?
Nah karena ukuran canvas saya adalah 600x400, maka untuk
mencapai tengah-tengahnya kan x nya 300, dan y nya 200.. ini berarti
disesuaikan ukuran canvas kalian yah.
var i:integer;
begin
with image1.Canvas
do
begin
MoveTo(Absis(-270),Ordinat(0)); //sumbu x
LineTo(Absis(270),Ordinat(0));
Catatan: tidak dari -300 sampai 300 karena saya ingin
menyisihkan space, tidak sampai ke ujung banget.
MoveTo(Absis(0),Ordinat(150)); //sumbuy
LineTo(Absis(0),Ordinat(-150));
Catatan: tidak dari -200 sampai 200 karena saya ingin
menyisihkan space, tidak sampai ke ujung banget
Nah ini yang cukup sulit, membuat grafik sin x, bagaimana
kita membentuk grafik sin x yang cukup besar? Di sini saya membuat skala,
ukuran dari 0 sampai phi adalah dari 0 sampai 100 (pada sumbu x. Jadi untuk
2phi yaitu di 200 (sumbu x). Is it clear? Jadi 2 phi itu untuk x=200.
Jadi yang tadinya y=sin(i) dengan i dari -200 sampai 200, jadi y=sin i*2phi/200.
Nah untuk skala ke atasnya, kan nilai maksimum dan minimum
sin x itu 1 sama -1 ya? Untuk memperbesar kita ubah aja jadi missal 70 dan -70,
kira-kira aja sih biar enak diliat kaya gimana..
Jadi fungsinya berubah y=70 sin i*2phi/200.
Phi itu 3.14 ya ^^
Nah ini fungsi delphinya:
Var i:Real;
begin
with image1.Canvas
do
begin
i:=-200;
while i<=200 do
begin
Pixels[Absis(i),Ordinat(70*Sin(i*2*3.14/200))]:=clHITAM;
i:=i+0.01;
end;
end;
end;
Kenapa i selanjutnya memiliki perbedaan 0,01? Itu bebas..
Karena itu pixels yaa, jadi saya ingin jarak tiap titiknya ga terlalu jauh, hampir
membentuk garis.. coba teman-teman utak-atik aja J
nah, itu warnanya bebaaaaas :)
nah, itu warnanya bebaaaaas :)
Nah untuk fungsi cos x ya sama aja, SELAMAT MENCOBA ^^

kak program delphi yg trigonometri buat cotangen ada.?
BalasHapuskalau yg di atas kan sinus dan cosinus
ada nilai tangen yg tidak terdefinisi di salah satu titiknya, jadi perlu modifikasi lebih lanjut. Kalau sdr sudah bisa, berbagi ya :D
Hapus