2.1 Metode Polinom
Acuan : Koordinat Human.
a. Lingkaran Dengan Pusat 0,0 dan Radius r.
Persamaannya: x
2
+ y
2
= r
2
.
Persamaan diatas dapat diubah dalam bentuk eksplisit:
y = √r
2
- x
2
Atau dalam bentuk bahasa pemrograman:
y := sqrtsqrr – sqrx
2.1 Metode Polinom
Acuan : Koordinat Human.
a. Lingkaran Dengan Pusat 0,0 dan Radius r.
Persamaannya: x
2
+ y
2
= r
2
.
Persamaan diatas dapat diubah dalam bentuk eksplisit:
y = √r
2
- x
2
Atau dalam bentuk bahasa pemrograman:
y := sqrtsqrr – sqrx
30102012 Komputer Grafik Widjianto versi
2012
Titik x,y dicopykan maka akan didapatkan 7 titik pada bagian simetris lainnya:
x,-y, -x,y, -x,-y, y, x, y,-x, -y, x dan -y,-x.
Dengan demikian sekali scan kita mendapatkan 8 titik yang dapat diberi warna berbeda.
Batas scan dapat dipilih: dari x = 0 sampai x = r cos 45 atau x = 0.707 r.
y, x -x, y
x, -y y, -x
-y, -x
-x, -y -y, x
0,0
Titik x,y dicopykan maka akan didapatkan 7 titik pada bagian simetris lainnya:
x,-y, -x,y, -x,-y, y, x, y,-x, -y, x dan -y,-x.
Dengan demikian sekali scan kita mendapatkan 8 titik yang dapat diberi warna berbeda.
Batas scan dapat dipilih: dari x = 0 sampai x = r cos 45 atau x = 0.707 r.
30102012 Komputer Grafik Widjianto versi
2012
Agar diperoleh grafik yang halus dan kontinyu, maka kenaikkan nilai x harus lebih kecil dari 1,
misalnya 0,5 atau lebih kecil lagi.
Kenaikkan x yang besar menyebabkan gambar lingkaran berlubang-lubang.
Perintah for to do tidak cocok untuk lingkaran
Dapat menggunakan perintah: repeat – until
atau while –do.
Agar diperoleh grafik yang halus dan kontinyu, maka kenaikkan nilai x harus lebih kecil dari 1,
misalnya 0,5 atau lebih kecil lagi.
Kenaikkan x yang besar menyebabkan gambar lingkaran berlubang-lubang.
Perintah for to do tidak cocok untuk lingkaran
Dapat menggunakan perintah: repeat – until
atau while –do.
30102012 Komputer Grafik Widjianto versi
2012
procedure LingkPolinomPusat00Warna8; begin
r := StrToInteR.Text; x := 0;
Repeat y := sqrtsqrr - sqrx;
Canvas.Pixels[truncx0 +x, truncy0-y] := clRed; Canvas.Pixels[truncx0 +x, truncy0+y] := clBlue;
Canvas.Pixels[truncx0 -x, truncy0-y] := clPurple; Canvas.Pixels[truncx0 -x, truncy0+y] := clNavy;
Canvas.Pixels[truncx0 +y, truncy0-x] := clBlack; Canvas.Pixels[truncx0 +y, truncy0+x] := clGreen;
Canvas.Pixels[truncx0 -y, truncy0-x] := clYellow; Canvas.Pixels[truncx0 -y, truncy0+x] := clTeal;
x := x + 0.5;
Until x = 0.707 r; end;
0,0 y, x
x, -y -x, y
y, -x
-y, -x -y, x
-x, -y
procedure LingkPolinomPusat00Warna8; begin
r := StrToInteR.Text; x := 0;
Repeat y := sqrtsqrr - sqrx;
Canvas.Pixels[truncx0 +x, truncy0-y] := clRed; Canvas.Pixels[truncx0 +x, truncy0+y] := clBlue;
Canvas.Pixels[truncx0 -x, truncy0-y] := clPurple; Canvas.Pixels[truncx0 -x, truncy0+y] := clNavy;
Canvas.Pixels[truncx0 +y, truncy0-x] := clBlack; Canvas.Pixels[truncx0 +y, truncy0+x] := clGreen;
Canvas.Pixels[truncx0 -y, truncy0-x] := clYellow; Canvas.Pixels[truncx0 -y, truncy0+x] := clTeal;
x := x + 0.5;
Until x = 0.707 r; end;
Program
30102012 Komputer Grafik Widjianto versi
2012
b. Lingkaran Dengan Pusat a,b dan Radius r