Geometri
Primitive
D3 Manajemen
Informatika
S1 Sistem Informasi
Elemen-Elemen Pembentuk Grafik :
Geometri
2
Menggambar GARIS
Garis adalah kumpulan titik-titik yang
tersusun sedemiki-an 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)
3
Menggambar GARIS
(lanjt)
Tampilan garis pada layar komputer dibedakan
berdasarkan Resolusi-nya.
Resolusi : keadaan pixel yang terdapat pada suatu
area tertentu
Contoh : Resolusi 640x480, berarti pada layar
komputer terdapat 640 pixel per-kolom dan 480 pixel
per-baris.
Resolusi dapat pula dibedakan menjadi kasar,
medium dan halus.
4
Menggambar GARIS
(lanjt)
Untuk menggambarkan garis
seperti gambar di atas, diperlukan
pixel aktif.
5
Menggambar GARIS
(lanjt)
Parameter pixel address yang
membentuk garis pada layar
adalah :
6
Menggambar GARIS
(lanjt)
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.
7
Menggambar GARIS
(lanjt)
- Perhitungan inkrementasi untuk masing-
masing sumbu adalah berbeda :
n dan m adalah nilai inkrementasi
- Persamaan Umum Garis : y = mx +c
8
Pemrosesan Citra untuk
Ditampilkan di Layar
9
Garis Horisontal
(Menggambar GARIS)
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 awal
< titik akhir, Lakukan inkrementasi sumbu X
dari titik awal sampai titik akhir. Jika tidak,
maka Lakukan dekrementasi sumbu X
dari titik awal sampai titik akhir
3. Tampilkan garis menggunakan parameter
koordinat yang telah dihitung.
10
Garis Vertikal
(Menggambar GARIS)
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 awal < titik akhir,Lakukan
inkrementasi sumbu Y dati titik awal
sampai titik akhirJika tidak, maka lakukan
dekrementasi sumbu Y dari titik awal sampai
titik akhir
[Link] garis menggunakan parameter
koordinat yang telah dihitung.
11
Garis Diagonal
(Menggambar Garis)
Garis yang membentang secara paralel 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. Menentukan titik awal (P1) dan titik
akhir (P2)
2. Periksa posisi sumbu (koordinat)Jika titik
awal < titik akhir, lakukan inkrementasi
sumbu X dan sumbu Y dari titik awal
sampai
titik akhirJika tidak, maka lakukan
dekrementasi sumbu X dan sumbu Y dari
titik awal sampai titik akhir
3. Tampilkan garis menggunakan
parameter koordinat yang telah
dihitung.
12
Garis Bebas (Simple Digital Differential
Analyzer/DDA)
Garis yang membentang antara 2 titik, P1
dan P2, selalu membentuk sudut
yangbesarnya sangat bervariasi.
Sudut yang terbentuk menentukan
kemiringan suatu garis atau disebut
gradient/ slopatau disimbolkan dengan
parameter [Link] titik-titik yang
membetuk garis adalah :
(x1,y1)dan (x2,y2)
maka
13
Garis Bebas (Simple Digital
Differential Analyzer/DDA)
Algoritma DDA bekerja bekerja
atas dasar penambahan nilai x
dan nilai y.
Pada garis lurus, turunan
pertama dari x dan y adalah
konstanta.
Sehingga untuk memperoleh
suatu tampilan dengan ketelitian
tinggi, suatu garis dapat
dibangkitkan dengan menambah
nilai x dan y masing-masing
sebesar e∆x dan e∆y, dengan
ebesaran dengan nilai yang
sangat kecil.
14
Garis Bebas (Simple Digital
Differential Analyzer/DDA)
Kondisi ideal ini sukar dicapai, karenanya
pendekatan yang mungkin dilakukan
adalah berdasarkan piksel-piksel yang
bisa dialamati/dicapai atau melalui
penambahan atau pengurangan nilai x
dan y dengan suatu besaran dan
membulatkannya ke nilai integer terdekat.
15
Menggambar GARIS
Algoritma Bresenham
- Pixel selanjutnya ?
- Algoritma Bresenhma memilih titik
terdekat dari actual path
- Setiap sampling akan diinkrement
menjadi 1 atau 0.
16
Menggambar GARIS
Kondisi awal :Jikam < 1, maka m
bernilai positif
Bresenham melakukan inkremen
1 untuk x dan 0 atau 1 untuk y.
Jika current pixel (xk,yk)
Dimanakah pixel berikutnya akan
di-plot, apakah di (xk+1, yk+1)=
(xk+1, yk), atau (xk+1, yk+1)?
17
Menggambar GARIS
18
Menggambar GARIS
Tentukan nilai parameter
keputusan, pk:
19
Menggambar GARIS
Algoritma Bresenham untuk |m| < 1:
1. Input2 endpoints, simpan
endpoints kiri sebagai (x0, y0).
2. Panggil frame buffer (plot titik
pertama)
3. Hitung konstanta ∆x, ∆y, 2∆y, 2∆y–
2∆xdan nilai awal parameter
keputusan p0= 2∆y –∆x
4. Pada setiap xkdi garis, dimulai dari
k=0, ujilah :
Jika pk< 0, plot(xk+1, yk)danpk+1=
pk+ 2∆y maka plot (xk+1, yk+1)dan
pk+1= pk+ 2∆y -2∆x
5. Ulangi tahap 4 ∆xkali
20
Menggambar GARIS
Latihan : Hitunglah posisi piksel
hingga membentuk sebuah garis
yang menghubungkan titik (12,10)
dan (17,14) !
Jawab :
1.(x0, y0) =(12, 10)
2.∆x =5, ∆y = 4, 2∆y =8, 2∆y–2∆x = -2
3.p0= 2∆y –∆x = 3
21