Grafika komputer
-
Upload
staffpengajar -
Category
Education
-
view
46 -
download
4
Transcript of Grafika komputer
IF-311 Grafika Komputer (2 sks)
Pemrograman Grafika
Ir. Sihar, MT.
Dept. Teknik Informatika
Fak. Teknik
Bandung – 2002
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.
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
3a
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
3a
x
y
-y
perspektif konvensional
perspektif komputer
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 digunakanadalah 1 (perspektifkonvensional) 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
Perspektif konvensional
Perspektif komputer (C++)
Algoritma dan pemrograman C++ Algoritma dan pemrograman BASIC
Perspektif komputer (BASIC)
berlaku secara umum (based-math)
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:
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 BASICPerspektif komputer (BASIC)
Tunjukkan dalam perspektif komputer (C++ dan BASIC)
Solusi: untuk C++, skala 50 kali terlalu besar
Kasus-3:
Kasus-4: Tiga vektor dalam A380x620 membentuk segitiga dengan masing-masing:
Jika masing-masing vektor tersebut dikalikan dengan skalar 30 untuk membentukbidang dimensi-2, tunjukkanlah model segitiga tersebut dalam algoritma danpemrograman BASIC.
12
13;
7
14;
6
10cba
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
Perspektif konvensional Algoritma dan pemrograman C++ Perspektif komputer
Tampilan jalannya program
Berikut ditunjukkan dengan pendekatan C++:
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-satuanUntuk 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 perspektifkomputer dalam grafika komputer.
Contoh: perspektif komputer hasil pantulan cermin-datar dari perspektif konvensional untukgeometri 2-dimensi pada satu persegipanjang dan satu segitiga
Penjelasan:
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
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.
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
Solusi Kasus-5: Belahketupat dengan diameter-silang=8-satuan, dimana salah satu titik pada:
;6
7
a
Perspektif BASIC, dengan skalabilitas 30 kali.
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, danxd=xa-0.5(6)=4; yd=ya+10=16
b
c
d
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.
Kasus-6: Jika diketahui sebuah model 1-dimensi dalam bentuk perspektif konvensionalseperti ditunjukkan berikut ini:
;11
10
a
Bangunlah model perspektif komputer dalam C++ dan BASIC; khusus untukBASIC lakukan skalabilitas 10 kali, jika vektor dimulai:
Model secara konvensional
Algoritma dan pemrograman C++
Tampilan jalannya pemrograman:
Solusi:
Algoritma dan pemrograman BASIC
Model secara konvensional
Algoritma dan pemrograman C++ (modifikasi)Tampilan jalannya pemrograman:
Dilakukan modifikasi
solusi pada kasus-6
pada perspektif
komputer untuk C++
Kasus-7: Jika diketahui sebuah model 1-dimensi dalam bentuk perspektif konvensionalseperti ditunjukkan berikut ini:
;3
4
a
Bangunlah model perspektif komputer dalam C++, apabila vektor dimulai:
Model secara konvensional
Kasus-8: Jika diketahui sebuah model 1-dimensi dalam bentuk perspektif konvensionalseperti ditunjukkan berikut ini:
Bangunlah model perspektif komputer dalam C++berdasar model konvensionaltersebut.
Model secara konvensional
Kasus-9: Jika diketahui sebuah model 1-dimensi dalam bentuk perspektif konvensionalseperti 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
Algoritma dan pemrograman C++
Tampilan jalannya pemrograman:
Solusi:
Tampilan jalannya pemrograman:
Algoritma dan pemrograman BASIC