Metode Trigonometri Lingkaran Dengan Pusat 0,0 dan Radius r. Metode Trigonometri Ellips Dengan Pusat 0,0 dgn Sumbu-sumbu h dan k. Ellips Dengan Pusat a,b dan Sumbu-sumbu h dan k. Menggambar Fungsi Sinus

2.2 Metode Trigonometri

a. Lingkaran Dengan Pusat 0,0 dan Radius r.

Persamaan lingkaran dengan pusat 0,0 dalam bentuk trigonometri: x = r cos α dan y = r sin α Bentuk simetris sama dengan lingkaran polinom. Batas scan dapat dipilih mulai dari sudut = 0 sampai 45 derajad . Agar diperoleh grafik yang halus dan kontinyu, maka kenaikkan nilai sudut harus kecil 1, misalnya 0,5. Perintah for to do tidak cocok. Dapat menggunakan perintah repeat – until atau while –do.

2.2 Metode Trigonometri

a. Lingkaran Dengan Pusat 0,0 dan Radius r.

Persamaan lingkaran dengan pusat 0,0 dalam bentuk trigonometri: x = r cos α dan y = r sin α Bentuk simetris sama dengan lingkaran polinom. Batas scan dapat dipilih mulai dari sudut = 0 sampai 45 derajad . Agar diperoleh grafik yang halus dan kontinyu, maka kenaikkan nilai sudut harus kecil 1, misalnya 0,5. Perintah for to do tidak cocok. Dapat menggunakan perintah repeat – until atau while –do. 30102012 Komputer Grafik Widjianto versi 2012 procedure LingkTrigonoPusat00Warna8; begin r := StrToInteR.Text; sudut := 0; Repeat radian := sudut180 3.14; x := r cosradian; y := r sinradian; 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; sudut := sudut + 0.5; Until sudut = 45; end; 0,0 y, x x, -y -x, y y, -x -y, -x -y, x -x, -y procedure LingkTrigonoPusat00Warna8; begin r := StrToInteR.Text; sudut := 0; Repeat radian := sudut180 3.14; x := r cosradian; y := r sinradian; 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; sudut := sudut + 0.5; Until sudut = 45; end; Program 30102012 Komputer Grafik Widjianto versi 2012 Mengatur warna yang berdekatan dibuat sama. procedure LingkTrigonoPusatABWarna4; begin a := StrToInteA.Text; b := StrToInteB.Text; r := StrToInteR.Text; sudut:= 0; Repeat radian := sudut180 3.14; x := r Cosradian; y := r sinradian; Canvas.Pixels[truncx0 +x+a, truncy0-y+b] := clRed; Canvas.Pixels[truncx0 +x+a, truncy0--y+b] := clBlue; Canvas.Pixels[truncx0 +-x+a, truncy0-y+b] := clBlue; Canvas.Pixels[truncx0 +-x+a, truncy0--y+b] := clRed; Canvas.Pixels[truncx0 +y+a, truncy0-x+b] := clBlack; Canvas.Pixels[truncx0 +y+a, truncy0--x+b] := clGreen; Canvas.Pixels[truncx0 +-y+a, truncy0-x+b] := clGreen; Canvas.Pixels[truncx0 +-y+a, truncy0--x+b] := clBlack; sudut := sudut + 0.5; Until sudut = 45; end; a,b x+a, y+b -x+a, y+b y+a, -x+b -y+a, -x+b -x+a, -y+b x+a, -y+b -y+a, x+b y+a, x+b procedure LingkTrigonoPusatABWarna4; begin a := StrToInteA.Text; b := StrToInteB.Text; r := StrToInteR.Text; sudut:= 0; Repeat radian := sudut180 3.14; x := r Cosradian; y := r sinradian; Canvas.Pixels[truncx0 +x+a, truncy0-y+b] := clRed; Canvas.Pixels[truncx0 +x+a, truncy0--y+b] := clBlue; Canvas.Pixels[truncx0 +-x+a, truncy0-y+b] := clBlue; Canvas.Pixels[truncx0 +-x+a, truncy0--y+b] := clRed; Canvas.Pixels[truncx0 +y+a, truncy0-x+b] := clBlack; Canvas.Pixels[truncx0 +y+a, truncy0--x+b] := clGreen; Canvas.Pixels[truncx0 +-y+a, truncy0-x+b] := clGreen; Canvas.Pixels[truncx0 +-y+a, truncy0--x+b] := clBlack; sudut := sudut + 0.5; Until sudut = 45; end; Program 30102012 Komputer Grafik Widjianto versi 2012 Mengatur warna yang berdekatan dibuat sama. procedure LingkTrigonoPusatABWarna1; begin a := StrToInteA.Text; b := StrToInteB.Text; r := StrToInteR.Text; sudut:= 0; Repeat radian := sudut180 3.14; x := r Cosradian; y := r sinradian; Canvas.Pixels[truncx0 +x+a, truncy0-y+b] := clRed; sudut := sudut + 0.5; Until sudut = 360; end; a,b x+a, y+b -x+a, y+b y+a, -x+b -y+a, -x+b -x+a, -y+b x+a, -y+b -y+a, x+b y+a, x+b procedure LingkTrigonoPusatABWarna1; begin a := StrToInteA.Text; b := StrToInteB.Text; r := StrToInteR.Text; sudut:= 0; Repeat radian := sudut180 3.14; x := r Cosradian; y := r sinradian; Canvas.Pixels[truncx0 +x+a, truncy0-y+b] := clRed; sudut := sudut + 0.5; Until sudut = 360; end; Program 30102012 Komputer Grafik Widjianto versi 2012

3. Menggambar Ellips

Menggambar ellips dengan pixel dapat menghasilkan ellips dengan 4 warna, 2 warna atau 1 warna pilihan. Ellips mempunyai 4 simitris putar,  ellips dapat dibagi menjadi 4 bagian simetris sama dan satu bagian tersebut dapat diputar sehingga membentuk sebuah ellips penuh. Menggambar sebuah ellips cukup menscan 14 bagian, sedangkan bagian lainnya dicopykan dari bagian tersebut

3. Menggambar Ellips

Menggambar ellips dengan pixel dapat menghasilkan ellips dengan 4 warna, 2 warna atau 1 warna pilihan. Ellips mempunyai 4 simitris putar,  ellips dapat dibagi menjadi 4 bagian simetris sama dan satu bagian tersebut dapat diputar sehingga membentuk sebuah ellips penuh. Menggambar sebuah ellips cukup menscan 14 bagian, sedangkan bagian lainnya dicopykan dari bagian tersebut Keuntungan cara ini adalah kita dapat memilih warna yang berbeda dari tiap bagian tersebut. Untuk menggambar ellips dapat digunakan 2 metode, yaitu metode polinom dan metode trigonometri. 30102012 Komputer Grafik Widjianto versi 2012

a. Ellips Dengan Pusat 0,0 dgn Sumbu-sumbu h dan k.

Persamaannya x 2 + y 2 = 1 h 2 k 2 Dalam bentuk eksplisit dapat ditulis: y = k√ 1 – x h 2 . x,y -x,y 0,0 Sebuah titik x,y menghasilkan 3 titik pada bagian simetris lainnya, yaitu x,-y, -x,y dan -x,-y. x,-y -x,-y Sebuah titik x,y menghasilkan 3 titik pada bagian simetris lainnya, yaitu x,-y, -x,y dan -x,-y. Batas scan diambil sepanjang sumbu datar dari x = 0 sampai x =h. Kenaikkan nilai x harus 1, misalnya 0,1. Jangan pakai for to do Gunakan perintah repeat – until atau while –do. 30102012 Komputer Grafik Widjianto versi 2012 procedure EllipsPolinomPusat00Warna4; begin h := StrToInteH.Text; k := StrToInteK.Text; x := 0; Repeat y := ksqrt1 - sqrxh; Canvas.Pixels[truncx0 +x, truncy0-y] := clRed; Canvas.Pixels[truncx0 +x, truncy0+y] := clBlue; Canvas.Pixels[truncx0 -x, truncy0-y] := clYellow; Canvas.Pixels[truncx0 -x, truncy0+y] := clGreen; x := x + 0.5 Until x = h; end; procedure EllipsPolinomPusat00Warna4; begin h := StrToInteH.Text; k := StrToInteK.Text; x := 0; Repeat y := ksqrt1 - sqrxh; Canvas.Pixels[truncx0 +x, truncy0-y] := clRed; Canvas.Pixels[truncx0 +x, truncy0+y] := clBlue; Canvas.Pixels[truncx0 -x, truncy0-y] := clYellow; Canvas.Pixels[truncx0 -x, truncy0+y] := clGreen; x := x + 0.5 Until x = h; end; 0,0 x,y x,-y -x,-y -x,y Program 30102012 Komputer Grafik Widjianto versi 2012

b. Ellips Dengan Pusat a,b dan Sumbu-sumbu h dan k.

Persamaannya: x – a 2 + y – b 2 = 1 h 2 k 2 Untuk membentuk persamaan ini dapat dilakukan dengan menggeser titik pusat 0,0 ke a,b dan koordinat titik-titik lainnya berubah sebagai berikut ini.

b. Ellips Dengan Pusat a,b dan Sumbu-sumbu h dan k.

Persamaannya: x – a 2 + y – b 2 = 1 h 2 k 2 Untuk membentuk persamaan ini dapat dilakukan dengan menggeser titik pusat 0,0 ke a,b dan koordinat titik-titik lainnya berubah sebagai berikut ini. x+a,y+b -x+a,y+b x+a,-y+b -x+a,-y+b

a,b

Batas scan dapat dipilih mulai dari x = 0 sampai x = h 30102012 Komputer Grafik Widjianto versi 2012 procedure EllipsPolinomPusatABWarna4; begin h := StrToInteH.Text; k := StrToInteK.Text; a := StrToInteA.Text; b := StrToInteB.Text; x := 0; Repeat y := ksqrt1 - sqrxh; Canvas.Pixels[truncx0 +x+a, truncy0-y+b] := clRed; Canvas.Pixels[truncx0 +x+a, truncy0--y+b] := clBlue; Canvas.Pixels[truncx0 - x+a, truncy0-y+b] := clYellow; Canvas.Pixels[truncx0 - x+a, truncy0--y+b] := clGreen; x := x + 0.5; Until x = h; end; a,b x+a,y+b x+a,-y+b -x+a-y+b -x+a,y+b procedure EllipsPolinomPusatABWarna4; begin h := StrToInteH.Text; k := StrToInteK.Text; a := StrToInteA.Text; b := StrToInteB.Text; x := 0; Repeat y := ksqrt1 - sqrxh; Canvas.Pixels[truncx0 +x+a, truncy0-y+b] := clRed; Canvas.Pixels[truncx0 +x+a, truncy0--y+b] := clBlue; Canvas.Pixels[truncx0 - x+a, truncy0-y+b] := clYellow; Canvas.Pixels[truncx0 - x+a, truncy0--y+b] := clGreen; x := x + 0.5; Until x = h; end; Program 30102012 Komputer Grafik Widjianto versi 2012 Persamaan ellips dengan pusat 0,0 dgn sumbu-sumbu h k adalah: x = h cos α dan y = k sin α Batas scan dapat dipilih mulai dari sudut = 0 sampai 90 derajad . Kenaikkan nilai sudut harus kecil 1, misalnya 0,1. Tidak dapat menggunakan perintah for to do Menggunakan perintah repeat – until atau while –do. Persamaan ellips dengan pusat 0,0 dgn sumbu-sumbu h k adalah: x = h cos α dan y = k sin α Batas scan dapat dipilih mulai dari sudut = 0 sampai 90 derajad . Kenaikkan nilai sudut harus kecil 1, misalnya 0,1. Tidak dapat menggunakan perintah for to do Menggunakan perintah repeat – until atau while –do. x,y -x,y x,-y -x,-y 0,0 30102012 Komputer Grafik Widjianto versi 2012 procedure EllipsTrigonoPusat00Warna4; begin h := StrToInteH.Text; k := StrToInteK.Text; sudut := 0; Repeat radian := sudut 180 3.14; x := h cosradian; y := k sinradian; Canvas.Pixels[truncx0 +x, truncy0-y] := clRed; Canvas.Pixels[truncx0 +x, truncy0+y] := clBlue; Canvas.Pixels[truncx0 -x, truncy0-y] := clYellow; Canvas.Pixels[truncx0 -x, truncy0+y] := clGreen; sudut := sudut + 0.5 Until sudut = 90; end; 0,0 x,y x,-y -x,-y -x,y procedure EllipsTrigonoPusat00Warna4; begin h := StrToInteH.Text; k := StrToInteK.Text; sudut := 0; Repeat radian := sudut 180 3.14; x := h cosradian; y := k sinradian; Canvas.Pixels[truncx0 +x, truncy0-y] := clRed; Canvas.Pixels[truncx0 +x, truncy0+y] := clBlue; Canvas.Pixels[truncx0 -x, truncy0-y] := clYellow; Canvas.Pixels[truncx0 -x, truncy0+y] := clGreen; sudut := sudut + 0.5 Until sudut = 90; end; 30102012 Komputer Grafik Widjianto versi 2012 procedure EllipsTrigonoPusatABWarna4 ; begin h := StrToInteH.Text; k := StrToInteK.Text; a := StrToInteA.Text; b := StrToInteB.Text; sudut := 0; Repeat radian := sudut180 3.14; x := h cosradian; y := k sinradian; Canvas.Pixels[truncx0 + x+a, truncy0 - y+b] := clRed; Canvas.Pixels[truncx0 + x+a, truncy0 - -y + b] := clBlue; Canvas.Pixels[truncx0 + -x+a, truncy0- y + b] := clYellow; Canvas.Pixels[truncx0 + -x+a, truncy0 - -y + b] := clGreen; sudut := sudut + 0.5 Until sudut = 90; end; a,b x+a,y+b x+a,-y+b -x+a,-y+b -x+a,y+b procedure EllipsTrigonoPusatABWarna4 ; begin h := StrToInteH.Text; k := StrToInteK.Text; a := StrToInteA.Text; b := StrToInteB.Text; sudut := 0; Repeat radian := sudut180 3.14; x := h cosradian; y := k sinradian; Canvas.Pixels[truncx0 + x+a, truncy0 - y+b] := clRed; Canvas.Pixels[truncx0 + x+a, truncy0 - -y + b] := clBlue; Canvas.Pixels[truncx0 + -x+a, truncy0- y + b] := clYellow; Canvas.Pixels[truncx0 + -x+a, truncy0 - -y + b] := clGreen; sudut := sudut + 0.5 Until sudut = 90; end; 30102012 Komputer Grafik Widjianto versi 2012 procedure EllipsTrigonoPusatABWarna2; begin h := StrToInteH.Text; k := StrToInteK.Text; a := StrToInteA.Text; b := StrToInteB.Text; sudut := 0; Repeat radian := sudut 180 3.14; x := h cosradian; y := k sinradian; Canvas.Pixels[truncx0 +x+a, truncy0-y+b] := clRed; Canvas.Pixels[truncx0 +x+a, truncy0--y+b] := clRed; Canvas.Pixels[truncx0 - x+a, truncy0-y+b] := clYellow; Canvas.Pixels[truncx0 - x+a, truncy0--y+b] := clYellow; sudut := sudut+ 0.5 Until sudut = 90; end; a,b x+a,y+b -x+a,-y b -x+a,y+b procedure EllipsTrigonoPusatABWarna2; begin h := StrToInteH.Text; k := StrToInteK.Text; a := StrToInteA.Text; b := StrToInteB.Text; sudut := 0; Repeat radian := sudut 180 3.14; x := h cosradian; y := k sinradian; Canvas.Pixels[truncx0 +x+a, truncy0-y+b] := clRed; Canvas.Pixels[truncx0 +x+a, truncy0--y+b] := clRed; Canvas.Pixels[truncx0 - x+a, truncy0-y+b] := clYellow; Canvas.Pixels[truncx0 - x+a, truncy0--y+b] := clYellow; sudut := sudut+ 0.5 Until sudut = 90; end; x+a,-y+b 30102012 Komputer Grafik Widjianto versi 2012 procedure EllipsTrigonoPusatABWarna1; begin h := StrToInteH.Text; k := StrToInteK.Text; sudut := 0; Repeat radian := sudut 180 3.14; x := h cosradian; y := k sinradian; Canvas.Pixels[truncx0 +x+a, truncy0-y+b] := clRed; sudut := sudut+ 0.5 Until sudut =360; end; procedure EllipsTrigonoPusatABWarna1; begin h := StrToInteH.Text; k := StrToInteK.Text; sudut := 0; Repeat radian := sudut 180 3.14; x := h cosradian; y := k sinradian; Canvas.Pixels[truncx0 +x+a, truncy0-y+b] := clRed; sudut := sudut+ 0.5 Until sudut =360; end; a,b x+a,y+b x+a,-y+b -x+a,-y b -x+a,y+b 30102012 Komputer Grafik Widjianto versi 2012

4. Menggambar Fungsi Trigonometri

Menggambar fungsi trigonometri  mengkonversikan besaran sudut ke besaran sumbu datar x. Sumbu datar dapat dikonversikan dengan beberapa ukuran. Jika setengah sumbu x diinginkan untuk 1 gambar penuh, konversi sudut 360 derajad setara dengan ClientWidth div 2. Jika setengah sumbu x diinginkan untuk 2 gambar penuh, maka konversinya sudut 360 derajad setara dengan ClientWidth div 4, dan seterusnya. Amplitudo fungsi ditentukan sendiri dengan nilai tertentu 1 umumnya diambil cukup besar agar bentuk grafik tampak jelas.

4. Menggambar Fungsi Trigonometri

Menggambar fungsi trigonometri  mengkonversikan besaran sudut ke besaran sumbu datar x. Sumbu datar dapat dikonversikan dengan beberapa ukuran. Jika setengah sumbu x diinginkan untuk 1 gambar penuh, konversi sudut 360 derajad setara dengan ClientWidth div 2. Jika setengah sumbu x diinginkan untuk 2 gambar penuh, maka konversinya sudut 360 derajad setara dengan ClientWidth div 4, dan seterusnya. Amplitudo fungsi ditentukan sendiri dengan nilai tertentu 1 umumnya diambil cukup besar agar bentuk grafik tampak jelas. 30102012 Komputer Grafik Widjianto versi 2012

4.1 Menggambar Fungsi Sinus

Bentuk umum fungsi sinus adalah y = A. sin α , di mana α dalam satuan radian dan A bilangan yang cukup besar. Batas penggambaran grafik dapat ditentukan sendiri. procedure Sinus; Begin n := StrToIntebanyakGrafik.Text; ampli := StrToInteAmpli.Text; SudutAwal := StrToFloateSdtAwal.Text; SudutAkhir := StrToFloateSdtAkhir.Text; sudut := SudutAwal; Repeat radian := sudut180 3.14; x := sudut360 ClientWidth div n; 1layar n grafik y := Ampli sinradian; Canvas.Pixels[truncx0 + x, truncy0 - y] := clBlue; Sudut := sudut + 0.1; Until sudut = SudutAkhir; end; Program procedure Sinus; Begin n := StrToIntebanyakGrafik.Text; ampli := StrToInteAmpli.Text; SudutAwal := StrToFloateSdtAwal.Text; SudutAkhir := StrToFloateSdtAkhir.Text; sudut := SudutAwal; Repeat radian := sudut180 3.14; x := sudut360 ClientWidth div n; 1layar n grafik y := Ampli sinradian; Canvas.Pixels[truncx0 + x, truncy0 - y] := clBlue; Sudut := sudut + 0.1; Until sudut = SudutAkhir; end; Program 30102012 Komputer Grafik Widjianto versi 2012

4.2 Menggambar Fungsi Cosinus