Grafika Komputer (TIZ10) Algoritma Menggambar Lingkaran Disusun oleh Teady Matius Prodi Teknik Informatika – Universitas Bunda Mulia
Definisi Lingkaran Lingkaran serangkaian titik yang berjarak r dari posisi pusat (Xc, Yc) Berdasarkan jari-jarinya dari titik pusat (Xc,Yc) dapat ditentukan koordinat X, Y titik pembentuk lingkaran akan diletakkan pada tiap-tiap sudut X = Xc + r.Cos() Y = Yc + r.Sin()
Algoritma Output Primitif Lingkaran Ambil input pusat Xc, Yc dan jari-jari r Cari sudut akhir = 2 Cari nilai c dengan c=1/r Inisialisasikan = 0 Selama <= kerjakan langkah 6 sampai 8 Tentukan nilai x dan y X = Round(r * cos()) Y = Round(r * sin()) Gambar titik pada posisi xc+x, yc+y Tambahkan nilai dengan c = + c
4 way simetris 4 ways simetris terdiri dari Simetri horisontal, simetri vertikal, simetri diagonal kiri, simetri diagonal kanan Berdasarkan 4 way simetri dapat dibagi menjadi 8 bagian yang sama besar. Gambar disamping menggambarkan 4 way simetri dengan lingkaran dengan titik pusat 0,0
4 way simetris (lanjutan) Berdasarkan masing-masing koordinat tersebut pada, dapat diterapkan algoritma pencarian menggambar lingkaran pada 8 arah penggambaran busur pada masing-masing daerah simetris.
Algoritma 4 ways simetris Ambil input pusat Xc, Yc dan jari-jari r Cari sudut akhir = 2/8 Cari nilai c dengan c=1/r Inisialisasikan = 0 Selama <= kerjakan langkah 6 sampai 15 Tentukan nilai x dan y X = Round(r * cos()) Y = Round(r * sin()) Gambar titik pada posisi xc+x, yc+y Gambar titik pada posisi xc+x, yc-y Gambar titik pada posisi xc-x, yc+y Gambar titik pada posisi xc-x, yc-y Gambar titik pada posisi xc+y, yc+x Gambar titik pada posisi xc+y, yc-x Gambar titik pada posisi xc-y, yc+x Gambar titik pada posisi xc-y, yc-x Tambahkan nilai dengan c = + c
elips Elips dasar mempunyai sumbu terpanjang dan sumbu terpendek. Untuk elips sejajar sumbu x atau sejajar sumbu y dapat dianggap sumbu terpanjang dan sumbu terpendek adalah rx untuk sumbu elips sejajar sumbu x dan ry untuk sumbu elips sejajar sumbu y. Pendekatan penentuan koodinat X,Y titik-titik pembentuk kurva sama dengan pembentukan lingkaran, dimana berdasarkan jari-jari rx dan jari-jari ry dari titik pusat (Xc,Yc) dapat ditentukan koordinat X, Y titik pembentuk elips akan diletakkan pada tiap-tiap sudut X = Xc + rx.Cos() Y = Yc + ry.Sin() =0 dimulai dari sumbu x. Dengan cara yang sama dengan algorima lingkaran, dapat dilakukan untuk menggambar elips.
Algoritma Output Primitif menggambar elips Ambil input pusat Xc, Yc dan jari-jari rx dan ry Cari sudut akhir = 2 Jika rx > ry maka rmin = ry jika sebaliknya maka rmin=rx Cari nilai c dengan c=1/rmin Inisialisasikan = 0 Selama <= kerjakan langkah 7 sampai 9 Tentukan nilai x dan y X = Round(rx * cos()) Y = Round(ry * sin()) Gambar titik pada posisi xc+x, yc+y Tambahkan nilai dengan c = + c
Algoritma 4x simetris menggambar elips Ambil input pusat Xc, Yc dan jari-jari rx dan ry Cari sudut akhir = 2/4 Jika rx > ry maka rmin = ry jika sebaliknya maka rmin=rx Cari nilai c dengan c=1/rmin Inisialisasikan = 0 Selama <= kerjakan langkah 7 sampai 16 Tentukan nilai x dan y X = Round(rx * cos()) Y = Round(ry * sin()) Gambar titik pada posisi xc+x, yc+y Gambar titik pada posisi xc+x, yc-y Gambar titik pada posisi xc-x, yc+y Gambar titik pada posisi xc-x, yc-y Gambar titik pada posisi xc+y, yc+x Gambar titik pada posisi xc+y, yc-x Gambar titik pada posisi xc-y, yc+x Gambar titik pada posisi xc-y, yc-x Tambahkan nilai dengan c = + c