JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
Universitas WidyatamaHalaman : 1 dari 5
UJIAN TENGAH SEMESTER T.A. 2008/2009
Mata Kuliah : GRAFIKA KOMPUTER
Hari/Tanggal : JUM’AT, 3 APRIL 2009
Waktu : 120 MENIT
Dosen Penguji : TIM DOSEN
Sifat : BUKA BUKU (TIDAK DIPERKENANKAN SALING MEMINJAM
REFERENSI, BOLEH MENGGUNAKAN KALKULATOR) Bagian I : Pilihan Berganda (30%)
1. Pernyataan yang benar mengenai perbedaan antara Computer Graphics & Image Processing di bawah ini adalah : a. Image Processing berbasis vektor sedangkan Computer Graphics berbasis vektor
b. Image Processing menitikberatkan pada memanipulasi citra sesuai dengan keperluan user
c. Dalam Image Processing biasanya menggunakan model 2D/3D untuk memperoleh hasil citra yang realistik d. Computer Graphics digunakan untuk mengolah data citra untuk mendapatkan interpretasi 2D/3D
e. Image Processing digunakan untuk mendeskripsikan objek dengan primitif dasar grafis untuk mem-bentuk citra 2D/3D sedangkan Computer Graphics digunakan membuat deskripsi dari sebuah citra
2. Potongan algoritma di bawah ini adalah algoritma :
void createPrimitif(int x1,y1,x2,y2) { m = (y2-y1)/(x2-x1); if ((m>0)&&(m<1)) { for (x=x1;x<=x2;x++) { y+=m; putpixel(x,y); } }; else if (m>1) { for (y=y1;y<=y2;y++) { x+=1/m; putpixel(x,y); } } }
a. Digital Differential Analyser b. Midpoint
c. Bresenham d. Subdivision
3. Diketahui koordinat titik A (1,3) dan titik B (8,5) maka nilai gradien dari garis yang melalui titik A dan B adalah : a. 7/2 b. 2/7 c. -7/2 d. -2/-7 Nilai Gradien = 7 2 7 2 1 8 3 5 − − = − − = − − atau X X Y Y A B A B
4. Untuk memperoleh kurva bezier seperti di bawah ini, maka dibutuhkan titik kontrol sebanyak :
a. 4 b. 5
c. 6 hitung jumlah lembah dan puncak kurva d. 7
5. Berapa waktu loading yang diperlukan untuk sistem dengan 1280 X 1024 frame buffer, 4 bits per pixel jika 104 bits dapat ditransfer per detik:
a. 524 detik b. 2097 detik
c. 8.73 menit
d. Semua salah 327680 Jumlah pixel pada frame buffer = 1280 x 1024 = 1310720 pixel
Jumlah bit pada frame buffer = Jumlah pixel pada frame buffer x jumlah bit per pixel = 1310720 x 4 = 5242880 bits
Waktu loadingnya = jam
menit menit menit ik bits 60 0.15 73 . 8 73 . 8 det 60 detik 524 detik 524 524.28 10 bits 5242880 4 = ≈ = = = =
6. Salah satu algoritma area filling adalah dengan cara melakukan penelusuran dari kiri atas sampai kanan bawah layar, sampai ditemukan batas suatu area, kemudian dilakukan operasi putpixel sampai ditemukan batas area berikutnya. Algoritma tersebut disebut a. Flood Fill
b. Boundary Fill c. Scan Line d. 4-Connected Fill e. 8-Connected Fill
Untuk pertanyaan no 7-8 perhatikan informasi berikut : sebuah lingkaran dengan pusat (0,0) dan jari-jari 7 Perhitungan pembentukan lingkaran di oktan 1 (untuk no 7 & 8)
k X Y 2X 2Y Pk - 0.00 7.00 0.00 14.00 -6.00 0 1.00 7.00 2.00 14.00 -3.00 1 2.00 7.00 4.00 14.00 2.00 2 3.00 6.00 6.00 12.00 -3.00 3 4.00 6.00 8.00 12.00 6.00 4 5.00 5.00 10.00 10.00 7.00
7. Jika lingkaran tersebut digambar dengan menggunakan algoritma midpoint 8 way simetri, pada k berapa, parameter keputusan pertama kali menjadi lebih besar dari 0 (positif) :
a. 0 b. 1
c. 2 d. 3 8. Perhitungan berhenti setelah memplot titik :
a. (3,3) b. (4,4)
c. (5,5) d. (6,6)
Untuk pertanyaan no 9-11 perhatikan informasi berikut : Sebuah garis AB dengan koordinat (3,4,15,20) Rumus rotasi thd titik (Xr,Yr)
x’ = xr + (x-xr) cos θ - (y-yr) sin θ y’ = yr + (x-xr) sin θ + (y-yr) cos θ
Rumus translasi/perpindahan thd vektor/titik translasi (tx,ty) adalah
(untuk no 9 & 10)
Rotasi Garis AB (3,4,15,20) thd titik (3,4)
xA’ = xr + (xA -xr) cos θ - (yA -yr) sin θ = 3+(3-3) cos 60 – (4-4) sin 60
= 3+ (0*0.5)–(0*-0.3) = 3+0-0 = 3
yA’ = yr + (xA -xr) sin θ + (yA -yr) cos θ = 4+ (3-3) sin 60 + (4-4) cos 60
= 4+(0*-0.3)+(0*0.5) = 4+0+0 = 4
xB’ = xr + (xB -xr) cos θ - (yB -yr) sin θ = 3+ (15-3) cos 60 – (20-4) sin 60
= 3+(12*0.5)-(16*-0.3)= 3+6+4.8 =13.8 ≈ 14
yB’ = yr + (xB -xr) sin θ + (yB -yr) cos θ = 4+(15-3) sin 60+(20-4) sin 60
= 4+(12*-0.3)-(16*0.5)= 4-3.6+8 = 8.4 ≈ 8
Rotasi Garis AB (3,4,15,20) thd titik (3,4) adalah (3,4,14,8) kemudian dipindahkan dengan vektor translasi (3,4) xA’ = 3 + 3 = 6 yA’ = 4 + 4 = 8 x’ = 14 + 3 = 17 + = y x t t y x y x ' '
yB’ = 8 + 4 = 12
maka titiknya menjadi (6,8,17,12)
9. Berapa koordinat garis tersebut setelah mengalami rotasi berlawanan arah jarum jam dengan sudut 60o terhadap titik (3,4) (cos 60o = 0.5, sin 60o = -0.3) :
a. (0,3,2,15) b. (3,4,2,15)
c. (0,3,14,16)
d. (3,4,14,16) Tidak ada jawaban yg benar
10. Setelah dilakukan rotasi, garis tersebut dipindahkan dengan vektor translasi (3,4), berapa koordinat garis tersebut : a. (3,7,5,19)
b. (6,8,5,19)
c. (3,7,17,20)
d. (6,8,17,20) Tidak ada jawaban yg benar
11. Dari posisi awal, garis tersebut direfleksikan terhadap sumbu y, berapa koordinat akhir garis tersebut : refleksi thd sb.y maka x bernilai negatif
a. (3,-4,15,-20) b. (-3,-4,15,20)
c. (3,4,-15,-20) d. (-3,4,-15,20) 12. Jika suatu objek dicerminkan terhadap garis Y=X, maka koordinat objek tersebut :
a. Nilai x akan menjadi negatif b. Nilai y akan menjadi negatif
c. Nilai x menjadi y dan Nilai y menjadi x d. Semua Salah
13. Prosedur untuk menghasilkan garis yang bertipe dotted adalah : a. Pada saat plot dilakukan selang satu titik
b. Pada saat plot menggunakan pixel mask
c. Pada saat plot digambarkan garis secara kontinu d. Semua Salah
14. Monitor berwarna dengan system CRT menghasilkan warna dengan cara : a. Dalam sistem random menggunakan penetrasi beam.
b. Dalam sistem raster menggunakan shadow mask dengan tiga electron guns.
c. Menggunakan phosphor yang berbeda, tiap phosphor menghasilkan warna yang spesifik. d. Semua benar
15. Apa yang harus dilakukan untuk merefleksi sebuah lingkaran : a. Refleksikan semua titik pada lingkaran tersebut
b. Refleksikan jari-jari lingkaran tersebut
c. Refleksikan titik pusat lingkaran dan gambar ulang lingkaran tersebut
d. Semua Salah Bagian II : ESSAY (70%)
1. (5%) Jelaskan perbedaan penggambaran garis menggunakan algoritma Bresenham dan algoritma DDA
2. (10%) Diketahui sebuah sebuah fungsi Gambar_Garis(X1,Y1,X2,Y2). Dengan menggunakan fungsi tersebut buat algoritma untuk membetnuk karakter berikut ini
Asumsi gambar tersebut terbentuk dari titik-titik berikut ini
Maka algoritma untuk membentuk font tersebut adalah Gambar_Garis(XA,YA,XB,YB) Gambar_Garis(XA,YA,XC,YC) Gambar_Garis(XB,YB,XD,YD) Gambar_Garis(XB,YB,XE,YE) Gambar_Garis(XC,YC,XD,YD) Gambar_Garis(XD,YD,XH,YH) Gambar_Garis(XE,YE,XF,YF) Gambar_Garis(XF,YF,XG,YG) Gambar_Garis(XG,YG,XK,YK) Gambar_Garis(XH,YH,XI,YI) Gambar_Garis(XI,YI,XJ,YJ) Gambar_Garis(XJ,YJ,XM,YM) Gambar_Garis(XK,YK,XL,YL) Gambar_Garis(XL,YL,XM,YM)
3. (20%) Lakukan perhitungan untuk menggambarkan ellips dengan menggunakan algoritma midpoint ellips, untuk ellips dengan persamaan berikut :
1 4 ) 1 ( 7 ) 2 ( 2 2 = − + − y x Region I
Oktan1 (X,Y) Oktan2 (X,-Y) Oktan3 (-X,-Y) Oktan4 (-X,Y) k X Y Px Py
Px-Py Pk X+Xc Y+Yc X+Xc Y+Yc X+Xc Y+Yc X+Xc Y+Yc
- 0 7 0 686 -686 -168 2 8 2 -8 -2 -8 -2 8 0 1 7 32 686 -654 -120 3 8 3 -8 -3 -8 -3 8 1 2 7 64 686 -622 -40 4 8 4 -8 -4 -8 -4 8 2 3 7 96 686 -590 72 5 8 5 -8 -5 -8 -5 8 3 4 6 128 114 14 102 6 7 6 -7 -6 -7 -6 7 Region 2
Oktan1 (X,Y) Oktan2 (X,-Y) Oktan3 (-X,-Y) Oktan4 (-X,Y) k X Y Px Py
Px-Py Pk X+Xc Y+Yc X+Xc Y+Yc X+Xc Y+Yc X+Xc Y+Yc
0 4 6 110 384 -274 -215 6 7 6 -7 -6 -7 -6 7 1 5 5 142 286 -144 -310 7 6 7 -6 -7 -6 -7 6 2 6 4 174 188 -14 -276 8 5 8 -5 -8 -5 -8 5 3 7 3 206 90 116 -111 9 4 9 -4 -9 -4 -9 4 4 8 2 238 -8 246 184 10 3 10 -3 -10 -3 -10 3 5 8 1 238 -106 344 339 10 2 10 -2 -10 -2 -10 2 6 8 0 238 -204 442 592 10 1 10 -1 -10 -1 -10 1
4. (15%) Diketahui 4 buah titik kontrol dengan koordinat C1(0,1), C2(2,2), C3(3,-1), dan C4(4,1) dengan menggunakan kenaikan t=0.01 maka tentukanlah:
a. Berapa titik yang digunakan untuk membangun kurva bezier ? b. Berapa nilai titik pada kurva pada saat t=0.83 ?
Jumlah titik yang digunakan untuk membangun kurva bezier dengan kenaikan t = 0.01 adalah 100 01 . 0 1 1 = = t titik
Nilai titik kurva dapat diketahui dengan rumus
(
)
3 3 2 2 33
3x y xy y
x y
x+ = + + + , subtitusi x = 1-t dan y = t, sehingga persamaan tersebut menjadi
(
)
3(
)
2(
)
2 31 3 1
3
1−t + −t t+ −t t +t
Maka nilai titik kurva pada saat t=0.83 dapat dihitung sebagai berikut
( ) (
)
(
)
(
)
(
) (
) ( )
(
) (
)(
)
(
)(
) (
) (
) (
)
(
) ( )
(
) (
)( )
(
)(
) ( ) (
) ( )
(
)( )
(
)(
)( )
(
)(
)( ) (
)( )
(
)( ) (
)( ) (
)( ) (
)( )
( ) (
) (
)
(
) (
)
(
) (
)
(
)
(
) ( )
(
) (
)( )
(
)(
) ( ) (
) ( )
(
)( )
(
)(
)( )
(
)(
)( ) (
)( )
(
)( ) (
)( ) (
)( ) (
)( )
0.955469 571787 . 0 0.351339 0.02743 0.004913 1 0.571787 1 0.351339 2 0.013715 1 0.004913 1 0.571787 1 0.6889 17 . 0 3 2 83 . 0 0.0289 3 1 0.004913 1 83 . 0 1 83 . 0 17 . 0 3 2 83 . 0 17 . 0 3 1 17 . 0 1 3 1 3 1 3.368595 2.287148 1.054017 0.02743 0 4 0.571787 3 0.351339 2 0.013715 0 0.004913 4 0.571787 3 0.6889 17 . 0 3 2 83 . 0 0.0289 3 0 0.004913 4 83 . 0 3 83 . 0 17 . 0 3 2 83 . 0 17 . 0 3 0 17 . 0 83 . 0 83 . 0 83 . 0 1 3 83 . 0 83 . 0 1 3 83 . 0 1 83 . 0 1 3 1 3 1 3 2 2 3 4 3 3 2 2 2 1 3 3 2 2 3 4 3 3 2 2 2 1 3 3 2 2 3 = + − + = + − + + = + − + + = + − + + = + − + − + − = = + + + = + + + = + + + = + + + = + − + − + − = + − + − + − = c c c c c c c c y t y t t y t t y t t Y x x x x X t t t t t t t X5. (20%) Buktikan dengan menggunakan matriks transformasi bahwa :
Refleksi terhadap garis y = -x ekuivalen dengan refleksi relatif terhadap sumbu y dilanjutkan dengan rotasi searah jarum jam dengan sudut 90o
Refleksi thd sb. y=-x − − = − − = = ′ ′ y x y x y x S S y x y x 1 0 0 1 0 0 Refleksi thd sb. y − = − = = ′ ′ y x y x y x S S y x y x 1 0 0 1 0 0
Hasil refleksi thd sb. y kemudian dirotasi searah jarum jam dengan sudut 90o, menghasilkan
(
)
(
)
(
)
(
)
− − = − − = − − − − − − = − − = ′ ′ y x y x y x y x y x 0 1 1 0 90 cos 90 sin 90 sin 90 cos cos sin sin cos θ θ θ θberdasarkan hasil refleksi thd sb. y kemudian dirotasi searah jarum jam dengan sudut 90o, terlihat bahwa hasilnya sama dengan hasil refleksi thd sb. y=-x...terbukti