Grafika komputer

download Grafika komputer

of 27

  • date post

    06-Aug-2015
  • Category

    Education

  • view

    31
  • download

    4

Embed Size (px)

Transcript of Grafika komputer

  1. 1. IF-311 Grafika Komputer (2 sks) Pemrograman Grafika Ir. Sihar, MT. Dept. Teknik Informatika Fak. Teknik Bandung 2002
  2. 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. 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. 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
  5. 5. Perspektif konvensional Perspektif komputer (C++) Algoritma dan pemrograman C++ Algoritma dan pemrograman BASIC Perspektif komputer (BASIC) berlaku secara umum (based-math)
  6. 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. 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. 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. 9. Perspektif konvensional Algoritma dan pemrograman C++ Perspektif komputer Tampilan jalannya program Berikut ditunjukkan dengan pendekatan C++:
  10. 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. 11. Contoh: perspektif komputer hasil pantulan cermin-datar dari perspektif konvensional untuk geometri 2-dimensi pada satu persegipanjang dan satu segitiga Penjelasan:
  12. 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 ; abdc=5-satuan b cd
  13. 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. 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. 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. 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. 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. 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. 19. Algoritma dan pemrograman C++ Tampilan jalannya pemrograman: Solusi: Algoritma dan pemrograman BASIC
  20. 20. Model secara konvensional Algoritma dan pemrograman C++ (modifikasi) Tampilan jalannya pemrograman: Dilakukan modifikasi solusi pada kasus-6 pada perspektif komputer untuk C++
  21. 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
  22. 22. Algoritma dan pemrograman C++ Tampilan jalannya pemrograman: Solusi:
  23. 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
  24. 24. Solusi: Algoritma dan pemrograman C++ Tampilan jalannya pemrograman:
  25. 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. 26. Algoritma dan pemrograman C++ Tampilan jalannya pemrograman: Solusi: Tampilan jalannya pemrograman: Algoritma dan pemrograman BASIC