Anda di halaman 1dari 12

Grafik Komputer dan Pengolahan Citra

Grafik Komputer :

Geometri Primitive

Universitas Gunadarma

Grafik Komputer : Geometri Primitive

1/12

Grafik Komputer dan Pengolahan Citra

Menggambar GARIS (1/11)


Garis adalah kumpulan titik-titik yang tersusun sedemikian rupa sehingga memiliki pangkal dan ujung. Suatu titik pada layar terletak pada posisi (x,y), untuk menggambarkannya plot suatu pixel dengan posisi yang berkesesuaian. Contoh program : Setpixel (x,y) (x, y)
(x, y)

Penampilan garis pada layar komputer dibedakan berdasarkan Resolusi-nya.


Resolusi : keadaan pixel yang terdapat pada suatu area tertentu Contoh : Resolusi 640x480, berarti pada layar kompuer terdapat 640 pixel per-kolom dan 480 pixel per-baris. Resolusi dapat pula dibedakan menjadi kasar, medium dan halus.
Low Resolution High Resolution

Grafik Komputer : Geometri Primitive

2/12

Grafik Komputer dan Pengolahan Citra

Menggambar GARIS (2/11)

Pixel Aktif

Untuk menggambarkan garis seperti gambar di atas, diperlukan pixel aktif. Parameter pixel address yang membentuk garis pada layar adalah :
Pixel 1 2 3 4 5 6 7 X 1 2 3 4 5 6 7 Y 2 3 3 4 5 5 6

Grafik Komputer : Geometri Primitive

3/12

Grafik Komputer dan Pengolahan Citra

Menggambar GARIS (3/11)


Untuk menampilkan atau menggambarkan garis pada layar dibutuhkan minimal 2 titik (endpoint), yaitu titik awal dan akhir.
Awal garis dimulai dengan titik atau pixel pertama, P1 diikuti titik kedua, P2. Untuk mendapatkan titik-titik selanjutnya sampai ke Pn perlu dilakukan inkrementasi atas nilai koordinat sumbu X dan Y pada titik sebelumnya. Perhitungan inkrementasi untuk masing-masing sumbu adalah berbeda :
Jenis Horisontal Vertikal Diagonal Bebas Sumbu-X Gerak (X=X+1) Konstan Gerak (X=X+1) Gerak (X=X+n) Sumbu-Y Konstan Gerak (Y=Y+1) Gerak (Y=Y+1) Gerak (Y=Y+n)

n dan m adalah nilai inkrementasi

Persamaan Umum Garis : y = mx +c


Grafik Komputer : Geometri Primitive 4/12

Grafik Komputer dan Pengolahan Citra

Menggambar GARIS (4/11)


Garis Horisontal
y Garis yang membentang secara paralel dengan sumbu X dengan asumsi titik P1 pada koordinat X1 lebih kecil daripada X2 dari P2, sedangkan Y1 dan Y2 konstant Algoritma : 1. Menentukan titik awal (P1) dan titik akhir (P2) 2. Periksa posisi sumbu (koordinat) Jika titik ahir < titik awal,
Lakukan inkrementasi sumbu X dati titik awal sampai titik akhir Jika tidak, maka Lakukan dekrementasi sumbu X dati titik awal sampai titik akhir

3.

Tampilkan garis menggunakan parameter koordinat yang telah dihitung.

Garis Vertikal

y Garis yang membentang secara paralel dengan sumbu Y dengan asumsi titik P1 pada koordinat Y1 lebih kecil daripada Y2 dari P2, sedangkan X1 dan X2 konstant Algoritma : 1. Menentukan titik awal (P1) dan titik akhir (P2) 2. Periksa posisi sumbu (koordinat) Jika titik ahir < titik awal,
Lakukan inkrementasi sumbu Y dati titik awal sampai titik akhir Jika tidak, maka Lakukan dekrementasi sumbu Y dati titik awal sampai titik akhir

3.

Tampilkan garis menggunakan parameter koordinat yang telah dihitung.

Grafik Komputer : Geometri Primitive

5/12

Grafik Komputer dan Pengolahan Citra

Menggambar GARIS (5/11)


Garis Diagonal
Garis yang membentang secara paralel y 45 derajat dari sumbu X atau sumbu Y dengan asumsi titik awal P1 dengan koordinat X1 dan Y1 lebih kecil daripada X2 dan Y2 atau sebaliknya.

Algoritma :
1. 2. Menentukan titik awal (P1) dan titik akhir (P2) Periksa posisi sumbu (koordinat) Jika titik ahir < titik awal,
Lakukan inkrementasi sumbu X dan sumbut Y dati titik awal sampai titik akhir Jika tidak, maka Lakukan dekrementasi sumbu X dan sumbu Y dati titik awal sampai titik akhir

3.

Tampilkan garis menggunakan parameter koordinat yang telah dihitung.

Grafik Komputer : Geometri Primitive

6/12

Grafik Komputer dan Pengolahan Citra

Menggambar GARIS (6/11)

Algoritma Pembentukan Garis Bebas (Simple Digital Differential Analyzer/DDA)


Garis yang membentang antara 2 titik, P1 dan P2, selalu membentuk sudut yang besarnya sangat bervariasi. Sudut yang terbentuk menentukan kemiringan suatu garis atau disebut gradient / slop atau disimbolkan dengan parameter m. Jika titik-titik yang membetuk garis adalah :
(x1,y1) dan (x2,y2) maka Y m= Y m= X2-X1
P2(x2,y2) Y P1(x1,y1) X

Y2-Y1

Grafik Komputer : Geometri Primitive

7/12

Grafik Komputer dan Pengolahan Citra

Menggambar GARIS (7/11)


Algoritma DDA
1. Tentukan 2 titik yang akan dihubungkan dalam pembentukan garis 2. Tentukan titik awal yaitu (x0, y0) dan (x1,y1) titik akhir 3. Hitung dx = x1-x0 dan dy = y1-y0 4. Tentukan step = max (|dx|,|dy|) 5. Hitung penambahan koordinat pixel Xinc = dx/step dan Yinc = dy/step 6. Koordinat selanjutnya (x+Xinc,y+Yinc) 7. Posisi pada layar ditentukan dengan pembulatan nilai koordinat tersebut 8. Ulangi nomor 6 dan 7 untuk menetukan posisi pixel berikutnya sampai x=x1 dan y=y1

Grafik Komputer : Geometri Primitive

8/12

Grafik Komputer dan Pengolahan Citra

Menggambar GARIS (8/11)


Algoritma Bresenham
16 15 14 13 12 11 10 9 8

Actual path

8 9 10 11 12 13 14 15 16

Pixel selanjutnya ? Algoritma Bresenhma memilih titik terdekat dari actual path Setiap sampling akan diinkrement menjadi 1 atau 0

Kondisi awal : Jika m < 1, maka m bernilai positif Bresenham melakukan inkremen 1 untuk x dan 0 atau 1 untuk y.

Grafik Komputer : Geometri Primitive

9/12

Grafik Komputer dan Pengolahan Citra

Menggambar GARIS (9/11)


Algoritma Bresenham
Algoritma Bresenham merupakan algoritma penggambaran garis yang efisien dengan menggunakan perhitungan incremental integer.

Prinsip dari algoritma Bresenham adalah :


1. 2. 3. Sumbu vertikal memperlihatkan posisi scan line. Sumbu horizontal memperlihatkan kolom pixel Pada tiap langkah, penentuan pixel selanjutnya didasari oleh parameter integer yang nilainya proporsional dengan pengurangan antara vertical separations dari dua posisi piksel dari nilai actual.

Grafik Komputer : Geometri Primitive

8/12

Grafik Komputer dan Pengolahan Citra

Menggambar GARIS (10/11) Algoritma Bresenham


1. Tentukan 2 titik yang akan dihubungkan dalam pembentukan garis 2. Tentukan salah satu titik di sebelah kiri titik awal dan titik lainnya sebagai titik akhir 3. Hitung nilai dx, dy, 2dy, dan 2dy-dx 4. Hitung parameter P0 = 2dy dx 5. Untuk setiap xk sepanjang garis dimulai dengan k=0
Bila Pk<0, maka titik selanjutnya adalah (xk+1,yk) dan Pk+1 = Pk + 2dy Bila Pk>0, maka titik selanjutnya adlah (xk+1, yk+1) dan Pk+1 = Pk+2dy-2dx

6. Ulangi langkah 5 untuk menentukan posisi pixel selanjutnya sampai x=x1 dan y = y1
Grafik Komputer : Geometri Primitive 8/12

Grafik Komputer dan Pengolahan Citra

Menggambar GARIS (11/11) Latihan Soal:


1. Diketahui 2 titik untuk membentuk garis yaitu titik A(10,10) dan B(17,16). Buat tabel perhitungan untuk titik-titik yang dihasilkan dengan menggunakan algortima DDA dan bresenham 2. A(20,10) dan B(30,18)

Grafik Komputer : Geometri Primitive

8/12

Anda mungkin juga menyukai