Mata Kuliah : Komputer Grafik
Soal Pilihan Ganda : Pilihlah Satu Jawaban Yang Benar
nilai maksimal = 50
Soal : Pendahuluan Komputer Grafik 1. Grafika komputer (Computer graphics) adalah: a. software-software yang digunakan untuk mengolah gambar b. bagian dari ilmu komputer yang mempelajari cara-cara pembuatan dan manipulasi gambar secara digital c. teknik-teknik untuk mengolah gambar d. ilmu yang melahirkan teknik-teknik untuk mengolah gambar e. betul semua Soal : Output Primitif 2. Biasanya resolusi piksel dinyatakan sebagai a. jumlah piksel persatuan panjang b. Jumlah piksel yang bisa ditampilkan secara bersama-sama dilayar c. Piksel tempat warna disimpan d. Jumlah Piksel untuk setiap gambar e. Elemen gambar terkecil 3. Diketahui koordinat titik A (2,1) dan titik B (8,5) akan digambar sebagai garis menggunakan algoritma Bressenham. Bila titik A digunakan sebagai titik awal, maka dua titik sebelum titik B yang digambar pada layar adalah: a. (5,7) dan (7,4) b. (7,5) dan (6,5) c. (6,4) dan (8,5) d. (6,4) dan (7,4) e. (5,4) dan (4,5) 4. Diketahui sebuah titik pembentuk lingkaran (9,4). Dengan menggunakan konsep simetris delapan titik, maka diperoleh titik-titik pembentuk lingkaran yang lain, yaitu: a. (–4,9), (4, –9),( –4, –9), (4,9), (–9, –4), (9, –4), (–9,4) b. (–4,9), (4, –9),( 4, 9), (–9, –4), (9,4), (9, –4), (–9,4) c. (–4,9), (4, –9),( –4, –9), (–9, –4), (9,4), (9, –4), (4,9) d. (–4,9), (4, –9),( –4, –9), (9, 4), (4,9), (9, –4), (–9,4) e. (–4,9), (4, 9),( –4, –9), (–9, –4), (9,4), (9, –4), (–9,4) 5. Dalam konsep polygon dikenal istilah verteks. Yang dimaksud verteks adalah a. Titik pertemuan tiap dua sisi polygon b. titik-titik pembentuk polygon c. titik-titik pada polygon
d. titik ujung polygon e. salah semua 6. Diketahui sebuah polygon dan garis scan seperti gambar berikut. Global Edge Table (GET) untuk garis scan tersebut adalah a. b. c. d. e.
AB AE AB dan AE AB dan BC Salah semua
Soal : Atribut Output Primitif 7. Atribut adalah semua parameter yang mempengaruhi bagaimana primitive grafis ditampilkan. Salah satu dari atribut output primitive garis adalah: a. Ukuran garis batas b. sudut garis batas c. arah garis batas d. Panjang Garis batas e. Warna objek (Fill color / Area Filling) Soal : Transformasi Geometri 8. Posisi segitiga ABC yang dibentuk oleh titik-titik A(20,20), B(100,20) dan C(60,120), 4 jika dilakukan translasi dengan faktor translasi hasilnya adalah 2 a. A’(80,40), B’(400,45) dan C’(260,240) b. A’(80,50), B’(410,40) dan C’(240,230) c. A’(80,50), B’(400,45) dan C’(230,250) d. A’(80,40), B’(410,40) dan C’(230,240) e. A’(24, 22), B’(104,22) dan C’(64,122) 9. Posisi segitiga ABC yang dibentuk oleh titik-titik A(20,20), B(100,20) dan C(60,120), jika dilakukan pemutaran dengan pusat sumbu koordinat dengan rotasi putarnya 180 derajat berlawanan arah dengan arah jarum jam adalah. a. A’(−20, −20), B’(−100, −20) dan C’(−60, −220) b. A’(−20, −40), B’(−120, −20) dan C’(−60, −120) c. A’(−20, −20), B’(−100, −20) dan C’(−50, −220) d. A’(−20, −40), B’(−120, −20) dan C’(−60, −320) e. A’(−20, −20), B’(−100, −20) dan C’(−60, −120) Soal : Viewing dan Clipping 2D 10. Dalam konsep viewing dan clipping ada istilah viewport. Apa yang dimaksud dengan viewport ?
a. bagian dari window tempat gambar ditampilkan b. Kemampuan untuk menunjukkan bagian dari obyek yang tertangkap di Word Coordinates System c. bagian dari layar dimana gambar yang tertangkap di Word Coordinates System ditampilkan di Screen Coordinates System (dilayar). d. Transformasi gambar dari Word Coordinates System ke Screen Coordinates System e. salah semua 11. Berikut adalah beberapa tujuan dari dilakukannya Clipping, kecuali .... a. Untuk menghindari kekacauan tampilan b. Untuk menghindari kesalahan program karena akses program keluar dari batas memori c. Untuk memotong sebagian dari obyek d. Untuk menghindari komputasi yang tidak efisien e. Untuk keindahan tampilan 12. Sebuah titik A(4,6) terletak pada window yang berukuran (3,5) – (8,15) akan ditempatkan dilayar pada viewport berukuran (50, 250) – (350, 350). Maka posisi titik A tersebut di sistem koordinat layar adalah a. (100, 325) b. ( 125, 225) c. (110, 260) d. ( 125, 100) e. salah semua Gambar untuk soal no. 13 s/d 14
C(5,11)
10 B(5,9) E(0,5)
Window
I(10,8) D(7,8)
A(3,4)
G(0, 3)
J(9,2) 1
2
H(3, −1)
F(5, −1)
8
13. Dengan menggunakan algoritma kliping Cohen-Sutherland, maka garis yang masuk dalam kategori invisible adalah a. IJ dan GH b. IJ dan EF
c. GH dan EF d. AB dan GH e. AB dan I J 14. Kode wilayah (Region code) dari titik G adalah a. 0110 b. 1000 c. 0001 d. 0010 e. 0100 Soal : Viewing dan Clipping 3D 15. Berikut adalah beberapa keuntungan dari penggunaan kamera sintetis, kecuali a. jauh lebih menghemat memori dibanding menggunakan kamera digital b. bisa melihat obyek 3D dari berbagai posisi c. Komputer bisa bertindak sebagai pengganti dari kamera d. komputer bisa dihubungkan dengan kamera digital e. bisa melihat bagian dalam, luar, atas, bawah, depan, belakang, kanan, dan kiri dari obyek 3D 16. teknik untuk mengubah titik-titik dalam ruang 3D kedalam bidang 2D disebut a. Proyeksi b. Proyeksi orthogonal c. Proyeksi oblique d. Proyeksi perspektif e. salah semua 17. Gambar disamping adalah hasil proyeksi a. Axonometric b. Oblique c. Orthographic d. Perspective e. Symmetric
18. Gambar disamping ini adalah hasil dari proyeksi ...... a. Axonometric b. Oblique c. Orthographic d. Perspective e. Symmetric Soal : Representasi Obyek 3D
19. Model representasi obyek 3D yang menggabungkan beberapa obyek solid yang dibentuk secara geometry dengan menggunakan operator gabungan (union), irisan (intersection), dan selisih (difference) disebut sebagai a. Curved Surfaces b. Constructive Solid Geometry c. Sweep Representation d. Quad Trees e. Polyhedral 20. Dari gambar dibawah ini yang termasuk model sweep representation adalah b.
a.
d.
c.
e. Diputar 270o
Soal : Kurva dan Permukaan 21. Berikut adalah contoh aplikasi dari kurva spline a. untuk desain badan/sayap pesawat terbang b. untuk desain Font ABC c. untuk lintasan animasi d. untuk bentuk pemodelan e. betul semua 22. Diketahui sebuah fungsi kurva kubik berikut
P(t ) [t 3 t 2
2 5 t 1] 0 1
7 1 1 3 3 8 0 1 0 0 0 0
P(0) P(1) P' (0) P' (1)
Berikut adalah fungsi blending dari kurva tersebut, kecuali a. f (t ) 2t 3 5t 2 1 b. f (t ) 7t 3 3t 2 c. f (t ) t 3 3t 2 t d. f (t ) t 3 8t 2
e. f 0 (t ) 2t 3 5t 2
Soal : visible surface detection 23. Sebuah konsep yang berusaha mendeteksi bagian permukaan obyek yang tampak oleh mata, yang akan ditampilkan dilayar disebut sebagai visible surface detection. Atau mendeteksi bagian permukaan obyek yang tersembunyi, sehingga tidak akan ditampilkan dilayar disebut hidden surface removal. Berikut adalah beberapa metode yang biasa digunakan untuk visible surface detection atau hidden surface removal, kecuali a. Back-Face Detection b. Depth-Buffer ( Z–Buffer) c. Algoritma Scan-Line d. Ray tracing e. surface removal detection 24. Sebuah permukaan polygon mempunyai normal N(4, −3, 5) dilihat oleh pengamat yang posisinya di V(−2, 1, 2). Maka pengamat tersebut melihat bagian......... polygon. a. Belakang b. Samping c. Atas d. Depan e. Bawah 25. Sebuah polygon mempunyai persamaan f(x,y,z) = 2x + 6y – 3z + 10 dilihat oleh pengamat yang berada di posisi V(−2, 4, 1). Maka pengamat tersebut melihat bagian......... polygon. a. Belakang b. Samping c. Atas d. Depan e. Bawah
Soal : Essay ke-1
nilai : 20
Diketahui 2 buah polygon A, dan B dengan persamaan berikut Polygon A:
fA(x,y,z) = 2x – 4y + z – 4
Polygon B:
fB(x,y,z) = 6x – 2y + 2z – 2
a. Tentukan depth-buffer dari ketiga polygon tersebut untuk bidang pandang berikut y 2 1 3
4
x
b. Bila kedua polygon tersebut digambar dilayar menggunakan algoritma depth-buffer, tentukan, polygon mana yang tampak dilayar untuk bidang pandang tersebut. Soal : Essay ke-2 nilai : 15 Diketahui 3 buah polygon A, B, dan C dengan garis scan dan depth-buffer berikut C
B A
• • •3 •4 1
2
Garis scan
Range garis-scan : 1–2 2–3 3–4 Depth-buffer A : 3 7 1 Depth-buffer B : 8 6 2 Depth-buffer C : 6 4 4 Bila ketiga polygon tersebut digambar dilayar menggunakan algoritma scan-line, tentukan, polygon mana yang tampak dilayar untuk garis scan tersebut. Soal : Essay ke-3
nilai : 15
Fungsi kurva kubik Bezier bisa ditulis dalam bentuk matrik berikut
P(t ) [t 3 t 2
1 3 3 3 6 3 t 1] 3 3 0 0 0 1
1 0 0 0
P0 P 1 P2 P3
Bila diketahui 4 titik kontrol P0(16, 32) , P1(8 , −40), P2(64, 32) dan P3(−64,24), tentukan posisi kurva Bezier saat t = ½ .
SELAMAT MENGERJAKAN....! Berikut adalah beberapa algoritma dan rumus-rumus yang bisa membantu anda
Algoritma DDA untuk menggambar garis: 1. Tentukan dua titik yang akan dihubungkan dalam pembentukan garis. 2. Tentukan salah satunya sebagai titik awal (x1, y1) dan yang lain sebagai titik akhir (x2,y2). 3. Hitung : dx = x2 − x1 dan dy = y2 − y1 4. Tentukan step, dengan ketentuan berikut: - bila |dx| > |dy| maka step = |dx| - bila tidak, maka step = |dy| 5. Hitung penambahan koordinat piksel dengan persamaan: x_inc = dx / step y_inc = dy / step 6. Koordinat selanjutnya : x = x + x_inc y = y + y_inc 7. Lakukan pembulatan u = Round(x), v = Round(x), kemudian plot piksel (u, v) pada layar 8. Ulangi point 6 dan 7 untuk menentukan posisi piksel berikutnya sampai x = x2 atau y = y2.
Algoritma Bresenham (kemiringan 0 < m < 1) untuk menggambar garis: 1. 2. 3. 4. 5.
Tentukan dua titik yang akan dihubungkan dalam pembentukan garis. Tentukan salah satu sebagai titik awal (x0, y0) dan titik akhir (x1, y1). Hitung dx, dy, 2dy dan 2dy − 2dx Hitung parameter : po = 2dy − dx Untuk setiap xk sepanjang jalur garis, dimulai dengan k = 0 - bila pk < 0 maka titik selanjutnya adalah: (xk+1, yk) dan pk+1 = pk + 2dy - bila tidak, titik selanjutnya adalah: (xk+1, yk+1) dan pk+1 = pk + 2dy – 2dx 6. Ulangi nomor 5 untuk menentukan posisi piksel berikutnya, sampai x = x1 atau y = y1. Simetris Delapan Titik Pembuatan kurva lingkaran dapat dilakukan dengan menentukan titik awal (x,y), maka delapan titik dapat ditentukan sebagai berikut : (x,y), (−x,y), (x, −y), (−x, −y), (y,x), (−y,x), (y, −x), (−y, −x)
Algoritma Lingkaran Midpoint adalah: 1. Tentukan jari-jari r dan pusat lingkaran (xp, yp), kemudian setting sedemikian rupa sehingga titik awal berada pada: (x0, y0) = (0 , r)
2. Hitung nilai parameter : 5 p0 r Jika jari-jari r pecahan 4
p0 1 r
Jika jari-jari r bulat
3. Untuk setiap posisi xk, dimulai dengan k = 0 berlaku ketentuan: - bila pk < 0 maka titik selanjutnya adalah (xk+1, yk) dan pk+1 = pk + 2 xk+1 + 1 - bila tidak, titik selanjutnya adalah (xk+1, yk - 1) dan pk+1 = pk + 2 xk+1 + 1 – 2 yk+1 4. Tentukan titik simetris pada ketujuh oktan yang lain 5. Gerakan setiap posisi piksel (x, y) pada garis lingkaran dengan titik pusat (xp, yp) dan plot nilai koordinat : x = x + xp, y = y + yp 6. Ulangi langkah 3 sampai dengan 5 hingga x ≥ y
Matrik Transformasi Geometri x cos y sin 1 0 x s x y 0 1 0
sin cos 0
0 x 0 y 1 1
0 x 0 y 1 1
0 sy 0
x 1 0 t x x y 0 1 t y y 1 0 0 1 1
x' y ' = 1
1 Sh y 0
Shx 1 0
0 0 1
Rotasi sebesar θ berlawanan jarum jam
Skala
translasi
x y 1
Shearing
Transformasi dari koordinat window ke koordinat viewport
x w xwmin x xv min v xwmax xwmin xv max xv min
dan
y w ywmin y v yv min ywmax ywmin yv max yv min
Titik potong garis dengan batas window dihitung menggunakan persamaan berikut: x x1
( ybatas y1 ) dan m
y y1 m( xbatas x1 )
Sebuah permukaan polygon: f(x,y,z) = Ax + By + Cz + D mempunyai normal N(A,B,C) titik pandang (kamera) yang berada di Vview(xv,yv,zv) akan melihat sisi polygon bagian belakang, bila
.
N Vview > 0
Kedalaman z pada (x,y) :
z
Kedalaman z pada (x+1,y): z '
Ax By D C A( x 1) By D A z C C
Kedalaman z pada (x, y +1) : z '
A( x) B( y 1) D B z C C
Algoritma Depth-buffer for all (x,y) depthBuff(x,y) = −∞ frameBuff(x,y) = backgndColor for each polygon P for each position (x,y) on polygon P calculate depth z if z > depthBuff(x,y) the depthBuff(x,y) = z frameBuff(x,y) = Color(x,y)
ooo Selamat Mengerjakan ooo