1. IF-311 Grafika Komputer (2 sks)
Pemrograman Grafika
Ir. Sihar, MT.
Dept. Teknik Informatika
Fak. Teknik
Bandung – 2002
2. Daftar Pustaka
1) Bloomenthal, J., Wyvill, B. (1997). Introduction to
Implicit Surfaces. Morgan Kaufmann.
2) Bratley, P., B. L. Fox, and L. E. Schrage. (1987). A
Guide to Simulation, Second Edition. Springer-Verlag.
3) Cook, R.L., Torrance, K.E. (1982). “A Reflactance Model
for Computer Graphics”. ACM Trans.Graph.
4) Harrington, S. (1983). Computer Graphics: A
Programming Approach. McGraw-Hill.
5) Plastock, R.A. (1986). Computer Graphics. Schaum's
Outline Series.
3. Kasus-1:Sebuah persegipanjang dengan panjang=4-satuan dan lebar=3-satuan
menempati ruang A6x8 dengan salah satu titik persegipanjang tersebut berada
pada:
Susunlah konstruksi algoritma, perspektif manual, dan perspektif komputer
umum (C++ dan BASIC).
4
3
a
Solusi:
Ruang vektor a ditransformasikan dalam dimensi A6x8:
Konstruksi algoritma
A6x8= (1,1)
(6,1)
(2,1)
(…)
(6,2)
(…)
(6,8)
(1,8)
(2,8)
(…)
(4,4)
…
…
…
(5,4)
(6,4)
(3,4)
(4,5)
…
(5,5)
(6,5)
(3,5)
(4,6)
…
(5,6)
(6,6)
(3,6)
(4,7)
…
(5,7)
(6,7)
(3,7)
(4,8)
…
(5,8)
(6,8)
(3,8)
…
…
…
(…)
(…)
4
3
a
x
y
-y
perspektif konvensional
perspektif komputer
4. Sumbu cartesian dalam perspektif
konvensional berkebalikan dengan
sumbu cartesian dalam perspektif
komputer (C++ dan BASIC)
Asumsi-1: titik a(3,4)
(3,4)
Asumsi-2: titik a(3,4)
(3,4)
Asumsi-3: titik a(3,4)
(3,4)
Asumsi-4: titik a(3,4)
(3,4)
Dalam grafika komputer,
asumsi yang digunakan
adalah 1 (perspektif
konvensional) dan 2
(perspektif komputer)
Bidang dan dimensi layar
komputer bahkan printer dapat
dipetakan/direpresentasikan
dalam dimensi dan ruang
matriks maupun vektor, namun
tergantung juga dari aspek
hardware. Seperti VGA-card
(monitor) dan resolusi printer.
Berdasar kasus tersebut, dapat diasumsikan sbb:
x
x
x
x
y
y
y
y
6. Berdasar kasus-1 tersebut, apabila dilakukan pembesaran terhadap persegipanjang sebanyak
3 kali, maka dapat disusun konstruksi algoritmanya berikut ini:
;
)12(
)9(
)4)(3(
)3)(3(
=
a ;
)12(
)21(
)4)(3(
)7)(3(
=
b ;
)21(
)21(
)7)(3(
)7)(3(
=
c ;
)21(
)9(
)7)(3(
)3)(3(
=
d
Perspektif komputer (C++)Algoritma dan pemrograman C++
Solusi: untuk BASIC, skala 3 kali terlalu kecil
Tunjukkan dalam perspektif komputer (C++ dan BASIC)
Kasus-2:
7. Berdasar kasus-1 tersebut, apabila dilakukan pembesaran terhadap persegipanjang sebanyak
50 kali, maka dapat disusun konstruksi algoritmanya berikut ini:
;
)200(
)150(
)4)(50(
)3)(50(
=
a ;
)200(
)350(
)4)(50(
)7)(50(
=
b ;
)350(
)350(
)7)(50(
)7)(50(
=
c ;
)350(
)150(
)7)(50(
)3)(50(
=
d
Algoritma dan pemrograman BASIC
Perspektif komputer (BASIC)
Tunjukkan dalam perspektif komputer (C++ dan BASIC)
Solusi: untuk C++, skala 50 kali terlalu besar
Kasus-3:
8. Kasus-4: Tiga vektor dalam A380x620 membentuk segitiga dengan masing-masing:
Jika masing-masing vektor tersebut dikalikan dengan skalar 30 untuk membentuk
bidang dimensi-2, tunjukkanlah model segitiga tersebut dalam algoritma dan
pemrograman BASIC.
12
13
;
7
14
;
6
10
cba
Solusi: Konstruksi algoritma
;
)180(
)300(
)6)(30(
)10)(30(
=
a ;
)210(
)420(
)7)(30(
)14)(30(
=
b ;
)360(
)390(
)12)(30(
)13)(30(
=
c
Perspektif konvensional Algoritma dan pemrograman BASIC Perspektif komputer
Tampilan jalannya program
9. Perspektif konvensional Algoritma dan pemrograman C++ Perspektif komputer
Tampilan jalannya program
Berikut ditunjukkan dengan pendekatan C++:
10. Kasus-5: Jika dengan pendekatan metode optik, perspektif komputer merupakan bayangan
dari perspektif konvensional, maka tunjukkanlah konstruksi algoritma beserta
algoritmanya jika diketahui bidang 2-dimensi berikut:
-jajarangenjang: p=5-satuan; t=4-satuan dengan jarak dari titik a=2-satuan
-belahketupat:diameter-silang=8-satuan
-layang-layang: diameter-panjang=13-satuan; diameter-lebar=6-satuan
Untuk layang-layang, titik-potong panjang dan lebar 10-satuan dari titik-ekor.
Dan masing-masing bidang geometri tersebut salah satu titik berada pada:
Solusi: Metode optik pada cermin datar dapat ditunjukkan pada skema berikut ini:
;
6
7
a
Jarak benda ke cermin sama
dengan jarak bayangan ke cermin
Postulat:
Ukuran benda sama dengan
ukuran bayangan
Sinar/cahaya yang datang ke
cermin akan dipantulkan kembali
ke sumber
Prinsip ini sesuai dengan kriteria perspektif konvensional dan perspektif
komputer dalam grafika komputer.
11. Contoh: perspektif komputer hasil pantulan cermin-datar dari perspektif konvensional untuk
geometri 2-dimensi pada satu persegipanjang dan satu segitiga
Penjelasan:
12. Solusi Kasus-5: Jajarangenjang dengan p=5 dan t=4-satuan, dengan jarak dari
a=2-satuan, dimana:
;
6
7
a
Perspektif konvensional
2-satuan
Konstruksi algoritma: xb=7+5 = 12, dan xd=xa+2=9; yd=ya+4=10 ; ab≡dc=5-satuan
b
cd
13. Solusi Kasus-5: Jajarangenjang dengan p=5 dan t=4-satuan, dengan jarak dari
a=2-satuan, dimana:
;
6
7
a
Perspektif BASIC, dengan skalabilitas 30 kali.
14. Solusi Kasus-5: Belahketupat dengan diameter-silang=8-satuan, dimana salah satu titik
pada:
;
6
7
a
Perspektif
konvensional
Konstruksi algoritma: xa=xc, yc=ya+8=14, dan xd=xa-0.5(8)=3; yd=ya+0.5(8)=10
b
c
d
15. Solusi Kasus-5: Belahketupat dengan diameter-silang=8-satuan, dimana salah satu titik
pada:
;
6
7
a
Perspektif BASIC, dengan skalabilitas 30 kali.
16. Solusi Kasus-5: Layang-layang dengan diameter-panjang=13-satuan; diameter-lebar=6-
satuan; titik-potong diameter-panjang dan lebar adalah 10-satuan dari titik-
ekor, dimana salah satu titik pada:
;
6
7
a Perspektif konvensional
Konstruksi algoritma:
xa=xc, yc=ya+13=19, dan
xd=xa-0.5(6)=4; yd=ya+10=16
b
c
d
17. Solusi Kasus-5: Layang-layang dengan diameter-panjang=13-satuan;diameter-lebar=6-
satuan; titik-potong diameter-panjang dan lebar adalah 10-satuan dari titik-
ekor, dimana salah satu titik pada:
;
6
7
a
Perspektif BASIC, dengan skalabilitas 20 kali, jika 30 kali maka akan terjadi over-flow.
18. Kasus-6: Jika diketahui sebuah model 1-dimensi dalam bentuk perspektif konvensional
seperti ditunjukkan berikut ini:
;
11
10
a
Bangunlah model perspektif komputer dalam C++ dan BASIC; khusus untuk
BASIC lakukan skalabilitas 10 kali, jika vektor dimulai:
Model secara konvensional
19. Algoritma dan pemrograman C++
Tampilan jalannya pemrograman:
Solusi:
Algoritma dan pemrograman BASIC
20. Model secara konvensional
Algoritma dan pemrograman C++ (modifikasi)
Tampilan jalannya pemrograman:
Dilakukan modifikasi
solusi pada kasus-6
pada perspektif
komputer untuk C++
21. Kasus-7: Jika diketahui sebuah model 1-dimensi dalam bentuk perspektif konvensional
seperti ditunjukkan berikut ini:
;
3
4
a
Bangunlah model perspektif komputer dalam C++, apabila vektor dimulai:
Model secara konvensional
23. Kasus-8: Jika diketahui sebuah model 1-dimensi dalam bentuk perspektif konvensional
seperti ditunjukkan berikut ini:
Bangunlah model perspektif komputer dalam C++berdasar model konvensional
tersebut.
Model secara konvensional
25. Kasus-9: Jika diketahui sebuah model 1-dimensi dalam bentuk perspektif konvensional
seperti ditunjukkan berikut ini:
Bangunlah model perspektif komputer dalam C++ dan BASIC (skala:15 kali)
berdasar model konvensional tersebut.
Model secara konvensional
a
b
c
d
e
f
26. Algoritma dan pemrograman C++
Tampilan jalannya pemrograman:
Solusi:
Tampilan jalannya pemrograman:
Algoritma dan pemrograman BASIC