Unsur-Unsur Dalam Grafika Komputer
GRAFIKA
KOMPUTER
Senin,
19 April 2021
Rangkuman
Module III, IV & V
Nama : Dody Pranata
Nim : 19.01.013.018
Dosen : Nawassyarif
www.uts.ac.id
Rangkuman
Module III
1. Pada
bab ini dibahas mengenai atribut primitive pada beberapa objek grafika yang
yaitu garis dan polygon.
2.
atribut garis yang dibahas adalah tipe, warna dan ukuran garis. Garis memiliki
3 tipe standar yaitu solid, dashed dan dotted, tipe ini dapat dihasilkan dengan
memodifikasi algoritma pembuatan garis standar yaitu DDA dan bresenham. Ukuran
garis dihasilkan dengan memplot beberapa garis sepanjang jalur.
3. pada
system raster warna dapat dihasilkan dengan dua cara yaitu menyimpan langsung
di frame buffer atau menyimpan di tabel warna
4.
pengisian area dibagi menjadi 3 yaitu solid, hollow dan pattern
5. Pada
system raster, ada dua pendekatan dasar untuk mengisi area. Cara pertama adalah
menentukan interval overlap untuk scan line yang menyebrangi area. Metode
lainnya adalah memulai dari posisi interior lalu mewarnai sampai bertemu
kondisi batas yang sudah dispesifikasikan
STUDI
KASUS DAN PEMBAHASAN
Algoritma Garis DDA
Algoritma
Digital Differential Analyzer
(DDA) adalah algoritma pembentukan garis berdasarkan
perhitungan Δx dan Δy, menggunakan rumus Δy = m.Δx. Garis dibuat dengan
menentukan dua endpoint yaitu titik awal dan titik akhir. Setiap koordinat
titik yang membentuk garis diperoleh dari perhitungan, kemudian dikonversikan
menjadi nilai integer.
Langkah-langkah
pembentukan menurut algoritma DDA, yaitu :
Tentukan
dua titik yang akan dihubungkan.
Tentukan
salah satu titik sebagai titik awal (x0, y0) dan titik akhir (x1, y1).
Hitung
Δx = x1 – x0 dan Δy = y1 – y0
Tentukan
step, yaitu jarak maksimum jumlah penambahan nilai x maupun nilai y dengan cara
:
Bila
nilai |Δy| > |Δx| maka step = nilai |Δy|.
Bila
tidak maka step = |Δx|.
Hitung
penambahan koordinat pixel yaitu x_increment = Δx / step dan y_increment = Δy /
step.
Koordinat
selanjutnya (x+ x_increment, y+ y_increment).
Posisi
pixel pada layer ditentukan dengan pembulatan nilai koordinasi tersebut.
Ulangi
step 6 dan step 7 untuk menentukan posisi pixel selanjutnya, sampai x = x1 dan
y = y1.
Contoh :
Untuk
menggambarkan algoritma DDA dalam pembentukan suatu garis yang menghubungkan
titik (10,10) dan (17,16), pertama-tama ditentukan dx dan dy, kemudian dicari
step untuk mendapatkan x_increment dan y_increment.
Δx = x1
– x0 = 17-10 = 7
Δy = y1
– y0 = 16-10 = 6
Selanjutnya
hitung dan bandingkan nilai absolutnya.
|Δx| = 7
|Δy| = 6
Karena
|Δx| > |Δy|, maka step = |Δx| = 7, maka diperoleh :
x_inc =
7/7 =1
y_inc =
6/7 = 0.86
k
X
Y
round(x),round(y)
(10,10)
0
11
10,86
(11,11)
1
12
11,72
(12,12)
2
13
12,58
(13,13)
3
14
13,44
(14,13)
4
15
14,3
(15,14)
5
16
15,16
(16,15)
6
17
16,02
(17,16)
Rangkuman
Module IV
Pengertian Clipping (Pemotongan) Istilah
Kliping (Clipping) = kumpulan guntingan koran Clipping = memotong objek dengan
bentuk tertentu. Sarana pemotong objek clipping window, dalam konteks grafika
komputer, untuk melakukan clipping, kita lebih dulu harus menentukan bentuk
window dan baru kemudian menentukan hanya objek yang terdapat di dalam window
tersebut yang akan ditampilkan.
Setelah
mengetahui pengertian clipping maka sobat bisa lanjut dengan penjelasan yang
masih berkaitan dengan ruang lingkup clipping atau pemotongan tersebut :
Clipping
Window / Viewport
1.
Fungsi clipping window Mengidentifikasi obyek yang akan di clip dan memastikan
bahwa data yang di ambil hanya yang terletak di dalam clipping window.
2.
Bentuk Clipping Window :
- Segi
empat, segi tiga
-
Lingkaran atau elips
-
Poligon dan lain-lain
Clipping
2 Dimensi
1. Tidak
semua garis harus digambar di area gambar karena garis-garis yang tidak
terlihat di area gambar seharusnya tidak perlu digambar.
2.
Metode untuk menentukan bagian garis yang perlu digambar atau tidak perlu
digambar disebut clipping.
3.
Clipping juga dapat diartikan sebagai suatu tindakan untuk memotong suatu objek
dengan bentuk tertentu.
Ketampakan
Garis (Line Visibility)
Posisi
ketampakan garis terhadap area gambar (viewport) :
1. Garis
yang terlihat seluruhnya (fully visible) : garis tidak perlu dipotong
2. Garis
yang hanya terlihat sebagian (partially visible) : garis yang perlu dipotong
3. Garis
yang tidak terlihat sama sekali (fully invisible) : garis tidak perlu digambar
Algoritma
Cohen-Sutherland
Algoritma Cohen-Sutherland merupakan metode
untuk menentukan apakah sebuah garis perlu dipotong atau tidak dan menentukan
titik potong garis.
Area
gambar didefinisikan sebagai sebuah area segiempat yang dibatasi oleh xmin dan
xmax,ymin dan ymax
Setiap
ujung garis diberi kode 4 bit dan disebut sebagai region code. Region code
ditentukan berdasarkan area dimana ujung garis tersebut berada.
Susunan
region code :
Contoh:
Jika diketahui area gambar ditentukan dengan x
min =1, y min = 1 dan x max =4, y max =4 1. P (–1, –2) dan (5,6)
2. Q
(–1,5) dan (6,7)
maka
untuk menentukan region code dari masing-masing garis tersebut adalah :
1. Garis
P
Ujung
garis P (–1, –2)
L=1
karena x < xmin yaitu –1 < 1
R=0
karena x < xmax yaitu –1 < 4
B=1
karena y < ymin yaitu –2 < 1
T=0
karena y < ymax yaitu –2 < 5
sehingga
region code untuk ujung P (–1, –2) adalah 0101 Ujung garis P (5, 6)
L=0
karena x > xmin yaitu 5 > 1
R=1
karena x > xmax yaitu 5 > 4 B=0 karena y > ymin yaitu 6 > 1
T=1
karena y > ymax yaitu 6 > 5
sehingga
region code untuk ujung P (5, 6) adalah 1010, Karena region code kedua ujung
garis tidak 0000 maka garis P kemungkinan invisible dan perlu dipotong.
2. Garis
Q
Ujung
garis P (–1, 5)
L=1
karena x < x min yaitu –1 < 1
R=0
karena x < x max yaitu –1 < 4
B=0
karena y > y min yaitu 5 > 1
T=0
karena y = y max yaitu 5 = 5 sehingga region code untuk ujung P (–1, –2) adalah
0001 Ujung garis P (6, 7)
L=0
karena x > x min yaitu 6 > 1
R=1
karena x > x max yaitu 6 > 4
B=0
karena y > y min yaitu 7 > 1
T=1
karena y > y max yaitu 7 > 5
sehingga
region code untuk ujung P (5, 6) adalah 1010 Karena region code kedua ujung
garis tidak 0000 maka garis Q kemungkinan bersifat partialy invisible dan perlu
dipotong.
Menentukan
Titik Potong
Langkah
berikutnya menentukan lokasi titik potong antara garis tersebut dengan batas
areagambar.
Titik
potong dihitung berdasarkan bit=1 dari region code dengan menggunakan panduan
tabel berikut :
3.
Dengan xp1,xp2,yp1, dan yp2 dihitung menggunakan persamaan berikut ini
4.
Bergantung pada lokasi ujung garis maka akan diperoleh 2,3,atau 4 titik potong
seperti gambar berikut:
5. Bila
ditemukan titik potong lebih dari 2 pada 1 ujung maka pilih titik potong yang
ada di dalam area gambar. Untuk contoh diatas titik potong pada garis P adalah
: Region Bit B = 1 titik (1.25 , 1) Region Bit R = 1 titik (4, 4.7) cara
mencarinya sebagai
Titik
potong garis P (-1,-2) – (5,6)
m = y2 –
y1 = 6 – (-2 ) = 8/6 x2 – x1 = 5 – (-1)
Region
code 0101 di titik (-1,-2) :
• L=1
yp1 = y1
+ m * (x min – x1)
= -2 +
(8/6) * (1-(-1)
yp1 =
0,67
Titik
potongnya adalah (xmin,yp1) = (1, 0.67)
• B=1
xp1 = x1 + (y min – y1)/ m
= -1 + (1 - (-2))/(8/6)
xp1 = 1,25
Titik
potongnya adalah (xp1,ymin) = (1.25, 1)
Region
code 1010 di titik (5,6) :
• R=1
yp2 = y1 + m * (x max – x1)
= 6 +
(8/6) * (4-5)
yp2 =
4,7
Titik
potongnya adalah (x max ,yp2) = (4, 4.7)
• T=1
xp2 = x1
+ (y max – y1)/ m
= 5 + (5
- 6)/( 8/6)
xp2 = 4,25
Titik
potongnya adalah (xp2,y max ) = (4.25, 5)
Ada 4
titik potong pada garis P yaitu (1, 0.67), (1.25,1), (4, 4.7), (4.25, 5). Pilih
titik potong yang terdapat dalam viewport yaitu (1.25,1) dan (4, 4.7)
Rangkuman
Module V
1. Definisi Transformasi 2 Dimensi
Transformasi
dua dimensi adalah suatu model atau bentuk atau teknik-teknik memindahkan atau
mengubah nilai posisi objek dalam sistem koordinat dua dimensi. Pemindahan
objek ini dapat diartikan sebagai pemindahan titik.
Ada dua
cara yang dapat digunakan untuk mentransformasi gambar yaitu :
· Transformasi objek
Definisinya
adalah mengubah koordinat-koordinat dari tiap-tiap titik di objek dengan
beberapa aturan, meninggalkan underlying system koordinat yang tidak bisa di
ubah lagi.
· Transformasi koordinat
Definisinya
adalah system koordinat yang baru di buat sebelumnya merupakan semua titik
objek dalam system yang baru.
2. Rumus Transformasi 2 Dimensi
Rumus
perhitungan untuk setiap transformasi, yaitu :
a. Translasi
Rumus
yang digunakan, yaitu :
x′ = x +
tx
y′ = y +
ty
Keterangan
:
x′ :
koordinat x yang dibentuk setelah translasi
x :
koordinat x awal
tx : besarnya
translasi (perpindahan) x
y′ :
koordinat y yang dibentuk setelah translasi
y :
koordinat y awal
ty :
besarnya translasi (perpindahan) y
Contoh :
Untuk
menggambarkan translasi suatu objek berupa segitiga dengan koordinat A(10,10),
B(30,10), dan C(10,30) dengan tx,ty(10,20), tentukan koordinat yang barunya ?
Jawab :
A :
x’=10+10
= 20
y’=10+20
= 30
A’=
(20,30)
B :
x’=30+10
= 40
y’=10+20
= 30
B’=
(40,30)
C :
x’=10+10
= 20
y’=30+20
= 50
C’=
(20,50)
b. Skala
x′ = x .
sx
y′ = y .
sy
Keterangan
:
x′ :
koordinat x yang dibentuk setelah penskalaan
x :
koordinat x awal
sx :
besarnya penskalaan x
y′ :
koordinat y yang dibentuk setelah penskalaan
y :
koordinat y awal
sy :
besarnya penskalaan y
Contoh :
Untuk
menggambarkan skala suatu objek berupa segitiga dengan koordinat A(10,10),
B(30,10) dan C(10,30) dengan (sx,sy) (3,2), tentukan koordinat yang barunya ?
Jawab
A : X’=10*3 = 30
Y’=10*2 = 20
A’= (30,20)
B : X’=30*3 = 90
Y’=10*2 = 20
B’= (90,20)
C : X’=10*3 = 30
Y’=30*2 = 60
C’= (30,60)
c. Rotasi
Jenis perhitungan
rotasi berdasarkan sudut putaran, dan pivot point.
1) Rumus yang digunakan berdasarkan sudut
putaran, yaitu :
x′ = x
cos θ - y sin θ
y′ = x
sin θ + y cos θ
Keterangan
:
x′ :
koordinat x yang dibentuk setelah penskalaan
x :
koordinat x awal
θ :
besar sudut
y′ :
koordinat y yang dibentuk setelah penskalaan
y :
koordinat y awal
2) Rumus yang digunakan berdasarkan pivot
point, yaitu :
x′ = xr
+ ( x - xr ) cos θ - ( y - yr ) sin θ
y′ = yr
+ ( x - xr ) sin θ + ( y - yr ) cos θ
Keterangan
:
x′ :
koordinat x yang dibentuk setelah rotasi
x :
koordinat x awal
xr :
titik putar x
θ :
besar sudut
y′ :
koordinat y yang dibentuk setelah penskalaan
y :
koordinat y awal
yr :
titik putar y
d. Refleksi
Rumus
yang digunakan untuk pencerminan objek ini, yaitu :
1)Terhadap
sumbu x
x′ = x
y′ = -y
Keterangan
:
x :
koordinat x awal
y :
koordinat y awal
x′ :
koordinat x yang dibentuk setelah pencerminan
y′ :
koordinat y yang dibentuk setelah pencerminan
2)Terhadap
sumbu y
x′ = -x
y′ = y
Keterangan
:
x : koordinat
x awal
y :
koordinat y awal
x′ :
koordinat x yang dibentuk setelah pencerminan
y′ :
koordinat y yang dibentuk setelah pencerminan
3)Terhadap
sumbu x → y
x′ = -x
y′ = -y
Keterangan
:
x :
koordinat x awal
y :
koordinat y awal
x′ :
koordinat x yang dibentuk setelah pencerminan
y′ :
koordinat y yang dibentuk setelah pencerminan
4)Terhadap
sumbu x = y
x′ = y
y′ = x
Keterangan
:
x :
koordinat x awal
y :
koordinat y awal
x′ :
koordinat x yang dibentuk setelah pencerminan
y′ :
koordinat y yang dibentuk setelah pencerminan
Shear
Rumus
yang digunakan untuk mengubah sisi objek (distorsi), yaitu :
1)Terhadap
sumbu x
x′ = x +
shx . y
y′ = y
Keterangan
:
x :
koordinat x awal
y :
koordinat y awal
x′ :
koordinat x yang dibentuk setelah pencerminan
y′ :
koordinat y yang dibentuk setelah pencerminan
shx :
shear x
shy :
shear y
2)Terhadap
sumbu y
y′ = shy
. x + y
x′ = x
Keterangan
:
x :
koordinat x awal
y :
koordinat y awal
x′ :
koordinat x yang dibentuk setelah pencerminan
y′ :
koordinat y yang dibentuk setelah pencerminan
shx :
shear x
shy :
shear y