Pengantar Grafika 3D F A KULTAS I L M U K O M P UTER E D I T A N 2 5
TUJUAN INSTRUKSIONAL KHUSUS 2 Mahasiswa memahami Grafika 3-Dimensi dan dapat membedakan dengan Grafika 2-Dimensi Mahasiswa mengerti dan memahami sistem kordinat ang digunakan dalam Grafika 3-Dimensi serta mengetahui teknik representasi objek 3- Dimensi Mahasiswa mengenal dan mengetahui jenis-jenis dan faktor ang mempengaruhi proses rendering
POKOK BAHASAN Sistem Koordinat 3-Dimensi Representasi dan Rendering Objek 3- Dimensi 3
Pendahuluan Grafika Komputer dalam aplikasina terbagi menjadi 2 : Grafika 2D Grafika 3D 4 Aplikasi 2D banak dipakai dalam pembuatan grafik, peta, kreasi 2D ang banak membantu pemakai dalam membuat visualisasi. Grafika 2D memiliki kekurangan, aitu : ketidakmampuanna untuk merepresentasikan objek 3D. Kekurangan ini sangat dirasakan terutama dalam bidang desain, dimana kebanakan desainer membuat barang ang ada dalam dunia nata ang berdimensi 3. Grafika 3D memiliki kemampuan untuk membuat visualisasi dari sebuah benda ang nata ang dapat dilihat dari berbagai sudut pandang. Hal inilah ang membuat grafika 3D banak dipakai terutama dalam bidang desain dari sebuah produk.
Sistem Koordinat 3D 5 + + + + + + Right-handed Left-handed
Kaidah Tangan Kanan VS Tangan Kiri 6 2/29/25
Primitif 3D Dalam dunia 3D terdapat beberapa primitif seperti : Titik (point) Garis (line) Bidang/Permukaan (plane/surface) Bola (sphere) Kubus(cube) Silinder (clinder) Kerucut (cone) Cincin (torus) dll 7
Primitif 3D 8 Titik Posisi sebuah titik dalam grafika 3D diekspresikan dengan (,,) Garis Sebuah garis dibentuk dengan mendeskripsikan dua buah titik, aitu (,,) dan (2,2,2) ang sebagai ujung dari sebuah garis. Sebuah garis dalam grafika 3D dapat diekspresikan dengan sepasang persamaan, aitu : 2 2 2 2
Bidang Primitif 3D 9 Pada grafika 3D, terdapat sebuah geometri ang sangat penting, aitu bidang datar (plane). Sebuah bidang datar pada grafika 3D dispesifikasikan dengan sebuah persamaan, aitu : A + B + C + D =
Representasi Object 3D Untuk merepresentasikan object 3D : Persamaan Geometri Constructive Solid Geometr (CSG) Kurva & Permukaan Beier Lathe Object Fractal
Representasi Object 3D Dengan Persamaan Geometri Suatu object 3D dapat direpresentasikan langsung dengan menggunakan persamaan geometri dari object tersebut. Misalkan : untuk membangun sebuah bola, maka bisa dengan menggunakan rumus : X 2 Y 2 Z 2 R 2
Representasi Object 3D 2 atau dengan rumus : = r.sin.sin ; 2 = r.sin.cos ;- = r.cos
Representasi Object 3D Dengan Constructive Solid Geometr (CSG) CSG adalah suatu cara membentuk object dengan jalan menggabungkan atau memotong (mengurangi) dari beberapa object primitif 3D. 3 CSG dalam POV-Ra melibatkan : difference union intersect
Representasi Object 3D 4 Dengan CSG cont. Contoh : Object Object 2
Representasi Object 3D 5 Dengan CSG cont. Object Contoh 2: Object 2 Object 3 Object 5 = Object Object 2 Object 6 = Object 5 + Object 3
Representasi Object 3D 6
Representasi Object 3D 7
Constructive Solid Geometr (CSG) 8 2/29/25
Constructive Solid Geometr (CSG) 9 2/29/25
Lathe Object Representasi Object 3D 2 Linear Spline Quadratic Spline Cubic Spline
Lathe Object - cont Representasi Object 3D 2 Beier Spline
Representasi Object 3D 22 Fractal 2/29/25
Representasi Object 3D 23 2/29/25
Representasi Object 3D 24 2/29/25
Rendering 25 Rendering adalah proses akhir dari keseluruhan proses pemodelan ataupun animasi komputer. Dalam rendering, semua data-data ang sudah dimasukkan dalam proses modeling, animasi, teturing, pencahaaan dengan parameter tertentu akan diterjemahkan dalam sebuah bentuk output (tampilan akhir pada model dan animasi). Rendering tidak hana digunakan pada game programming, tetapi juga digunakan pada banak bidang, misalna arsitektur, simulator, movie, spesial effect pada taangan televisi, dan design visualiation. Rendering pada bidang-bidang tersebut memiliki perbedaan, terutama pada fitur dan teknik renderingna. Terkadang rendering juga diintegrasikan dengan model ang lebih besar seperti paket animasi, tetapi terkadang berdiri sendiri dan juga bisa free open-source product.
Rendering 26 Rendering Proses untuk menghasilkan sebuah citra 2D dari data 3D. Prose ini bertujuan untuk untuk memberikan visualisasi pada user mengenai data 3D tersebut melalui monitor atau pencetak ang hana dapat menampilkan data 2D Metode rendering ang paling sederhana dalam grafika 3D : Wireframe rendering Hidden Line Rendering Shaded Rendering
Wireframe rendering Rendering 27 Yaitu Objek 3D dideskripsikan sebagai objek tanpa permukaan. Pada wireframe rendering, sebuah objek dibentuk hana terlihat garis-garis ang menggambarkan sisi-sisi edges dari sebuah objek. Metode ini dapat dilakukan oleh sebuah komputer dengan sangat cepat, hana kelemahanna adalah tidak adana permukaan, sehingga sebuah objek terlihat tranparent. Sehingga sering terjadi kesalahpahaman antara sisi depan dan sisi belakang dari sebuah objek.
Wireframe rendering 28 2/29/25
Rendering 29 Hidden Line Rendering Metode ini menggunakan fakta bahwa dalam sebuah objek, terdapat permukaan ang tidak terlihat atau permukaan ang tertutup oleh permukaan lainna. Dengan metode ini, sebuah objek masih direpresentasikan dengan garis-garis ang mewakili sisi dari objek, tapi beberapa garis tidak terlihat karena adana permukaan ang menghalangina. Metode ini lebih lambat dari dari wireframe rendering, tapi masih dikatakan relatif cepat. Kelemahan metode ini adalah tidak terlihatna karakteristik permukaan dari objek tersebut, seperti warna, kilauan (shininess), tekstur, pencahaaan, dll.
Hidden Line Rendering 3 2/29/25
Rendering 3 Shaded Rendering Pada metode ini, komputer diharuskan untuk melakukan berbagai perhitungan baik pencahaaan, karakteristik permukaan, shadow casting, dll. Metode ini menghasilkan citra ang sangat realistik, tetapi kelemahanna adalah lama waktu rendering ang dibutuhkan.
Shaded Rendering 32 2/29/25
33
Rendering 34 Geometri + Kamera Cahaa + + Karakteristik + Permukaan Algoritma Rendering Citra Rendering Secara umum, proses untuk menghasilkan rendering dua dimensi dari objek-objek 3D melibatkan 5 komponen utama : Geometri Kamera Cahaa Karakteristik Permukaan Algoritma Rendering
Kamera 35 Dalam grafika 3D, sudut pandang (point of view) adlah bagian dari kamera. Kamera dalam grafika 3D biasana tidak didefinisikan secara fisik, namun hana untuk menentukan sudut pandang kita pada sebuah world, sehingga sering disebut virtual camera. Sebuah kamera dipengaruhi oleh dua buah faktor penting. Faktor pertama adalah lokasi (camera location). Lokasi sebuah kamera ditentukan dengan sebuah titik (,,). Faktor kedua adalah arah pandang kamera. Arah pandang kamera ditunjukkan dengan sebuah sistem ang disebut sistem koordinat acuan pandang atau sistem (U,N,V). Arah pandang kamera sangat penting dalam membuat sebuah citra, karena letak dan arah pandang kamera menentukan apa ang terlihat oleh sebuah kamera. Penentuan apa ang dilihat oleh kamera biasana ditentukan dengan sebuah titik (,,) ang disebut camera interest.
Kamera 36 Pada kamera, dikenal field of view aitu daerah ang terlihat oleh sebuah kamera.field of view pada grafika 3D berbentuk piramid, karena laar monitor sebuah komputer berbentuk segiempat. Objek-objek ang berada dalam field of view ini akan terlihat dari laar monitor, sedang objek-objek ang berada di luar field of view ini tidak terlihat pada laar monitor. Field of view ini sangat penting dalam pemilihan objek ang akan diproses dalam rendering. Objek-objek diluar field of view biasana tidak akan diperhitungkan, sehingga perhitungan dalam proses rendering, tidak perlu dilakukan pada seluruh objek.
Cahaa Sumber cahaa pada grafika 3D merupakan sebuah objek ang penting, karena dengan cahaa ini sebuah world dapat terlihat dan dapat dilakukan proses rendering. Sumber cahaa ini juga membuat sebuah world menjadi lebih realistis dengan adana baangan dari objek-objek 3D ang ada. Sebuah sumber cahaa memiliki jenis. Pada grafika 3D dikenal beberapa macam sumber cahaa, aitu : Point light Spotlight Ambient light Area light Directional light Parallel point 37
point light Cahaa 38 memancar ke segala arah, namun intensitas cahaa ang diterima objek bergantung dari posisi sumber cahaa. Tipe ini mirip seperti lampu pijar dalam dunia nata. spotlight memancarkan cahaa ke daerah tertentu dalam bentuk kerucut. Sumber cahaa terletak pada puncak kerucut. Hana objek-objek ang terletak pada daerah kerucut tersebut ang akan nampak. ambient light cahaa latar/alam. Cahaa ini diterima dengan intensitas ang sama oleh setiap permukaan pada benda. Cahaa latar tersebut dimodelkan mengikuti apa ang terjadi di alam, dalam keadaan tanpa sumber cahaa sekalipun, benda masih dapat dilihat. area light directional light memancarkan cahaa dengan intensitas sama ke suatu arah tertentu. Letak tidak mempengaruhi intensitas cahaana. Tipe ini dapat menimbulkan efek seolah-olah sumber cahaa berada sangat jauh dari objek parallel point sama dengan directional, hana pencahaaan ini memiliki arah dan posisi.
Cahaa 39 Model dari pencahaaan, dipakai untuk menghitung intensitas dari cahaa ang terlihat dari setiap posisi pada setiap permukaan benda ang terlihat oleh kamera. Ketika melihat sebuah benda, terlihat cahaa ang dipantulkan dari permukaan benda, dimana cahaa ini merupakan intregrasi dari sumber-sumber cahaa serta cahaa ang berasal dari pantulan cahaa permukaan-permukaan ang lain. Karena itu benda-benda ang tidak langsung menerima cahaa dari sumber cahaa, masih mungkin terlihat bila menerima cahaa pantulan ang cukup dari benda didekatna. Model sederhana dari sumber cahaa adalah sebuah titik sumber, dimana dari titik ini cahaa dipancarkan. Perhitungan pencahaaan bergantung pada sifat dari permukaan ang terkena cahaa, kondisi dari cahaa latar serta spesifikasi sumber cahaa.
Cahaa 4 Semua sumber cahaa dimodelkan sebagai sumber titik ang dispesifikasikan dengan : Lokasi Lokasi (,,) dari sebuah sumber cahaa akan menentukan pengaruhna terhadap sebuah objek. Intensitas Intensitas cahaa menatakan kekuatan cahaa ang dipancarkan oleh sebuah sumber cahaa. Parameter ini merupakan angka, ang biasana makin besar nilaina, makin terang sumber cahaa tersebut. Warna Warna cahaa dari sumber ini akan mempengaruhi warna dari sebuah objek, jadi selain warna objek tersebut warna cahaa ang jatuh pada objek tersebut akan mempengaruhi warna pada rendering. Warna cahaa ini biasana terdiri dari 3 warna dasar grafika komputer, aitu: merah, hijau, biru atau lebih dikenal dengan RGB.
Karakteristik Permukaan 4 Karakteristik permukaan dari sebuah objek adalah sifat dari permukaan sebuah objek. Karakteristik permukaan ini meliputi Warna Tekstur Sifat permukaan, seperti kekasaran (roughness), refleksifitas, diffuseness (jumlah cahaa ang dipantulkan oleh objek), transparansi, dan lain-lain. Parameter Warna dalam karakteristik permukaan direpresentasikan dengan tiga warna dasar, aitu RGB. Saat rendering, warna pada sebuah objek tergantung dari warna dalam karakteristik permukaan dan warna cahaa ang mengenaina. Jadi citra hasil rendering mungkin akan memiliki warna ang sedikit berbeda dengan warna objek tersebut.
Karakteristik Permukaan 42 Parameter tekstur direpresentasikan dengan sebuah nama file. File ini akan menjadi tekstur pada permukaan objek tersebut. Selain itu juga ada beberapa parameter dalam tekstur ang berguna untuk menentukan letak tekstur pada sebuah objek, sifat tekstur, perulangan tekstur, dan lain-lain. Sifat Permukaan, seperti diffuseness, refleksisifitas, dan lainlain direpresentasikan dengan sebuah nilai. Nilai ini menentukan sifat dari parameter-parameter tersebut. Misalna pada roughness, makin besar nilai parameterna, makin kasar objek tersebut.
Algoritma Rendering 43 Algoritma Rendering adalah prosedur ang digunakan oleh suatu program untuk mengerjakan perhitungan untuk menghasilkan citra 2D dari data 3D. Kebanakan algoritma rendering ang ada saat ini menggunakan pendekatan ang disebut scan-line rendering berarti program melihat dari setiap piel, satu per satu, secara horiontal dan menghitung warna di piel tersebut. Saat ini dikenal 3 algoritma : Ra-Casting Ra-Tracing Radiosit
Algoritma Rendering Ra-Casting Ra-Tracing Radiosit Menembakkan sinar untuk mengetahui warna dari cell Menggunakan metode sampling untuk menampilkan hasil Biasana dimodifikasi sesuai kebutuhan Memiliki konstrain geometrik tertentu Menelusuri sinar secara terbalik untuk mengetahui warna dari sebuah piel Membagi bidang menjadi bidang ang lebih kecil untuk menentukan warna Tidak menggunakan sampling Tidak menggunakan sampling Tidak dapat dimodifikasi Tidak dapat dimodifikasi Tidak Memiliki konstrain geometrik tertentu Tidak Memiliki konstrain geometrik tertentu Waktu rendering cepat Waktu rendering lambat Waktu rendering sangat lambat Digunakan untuk visuali-sasi secara cepat Dapat digunakan untuk outdoor dan in-door scene 44 Digunakan untuk visualiasi hasil akhir Dapat digunakan untuk outdoor dan in-door scene Digunakan untuk visualiasi hasil akhir Biasana digunakan untuk indoor scene Hasil rendering kadang terlihat kotak-kotak Hasil rendering sangat realistik Hasil rendering sangat realistik
45
POKOK BAHASAN 46 Transformasi 3-Dimensi
Dari 2D ke 3D 47 Pemodelan objek maupun metode transformasi pada 3D merupakan perluasan dari hal serupa pada 2D Koordinat 2D: (,) koordinat 3D: (,,) Representasi transformasi pada 3D juga dalam bentuk matrik Transformasi berurut juga dapat dicari matrik transformasi kompositna
Translasi 48 (,, ) T=(t,t,t ) T=(t,t,t ) (,,) P = T. P (t, t, t ) = transformation distance Koordinat tangan kanan
Translasi: operasi matriks pada koordinat homogen = + t ; = + t ; = + t ' ' ' t t t 49
Penskalaan 5 S=(s,s,s ) P = S. P (s, s, s ) = scaling factor Mengubah lokasi dan ukuran objek
Penskalaan: operasi matriks pada koordinat homogen =. s ; =. s ; =. S Relatif terhadap pusat koordinat (,,) ' ' ' s s s 5
Penskalaan: titik acuan sembarang ( f, f, f ) Translasi hingga ( f, f, f ) berhimpit dengan (,,) Penskalaan objek relatif terhadap (,,) Translasi balik hingga ( f, f, f ) kembali ke posisi semula ) ( ) ( ) ( ),, ( ),, ( ),, ( f f f f f f f f f s s s s s s T s s s S T 52
Rotasi 53 Perlu dispesifikasikan: Besar sudut rotasi () Sumbu rotasi 2D: titik ( r, r ) analog dgn 3D: selalu terhadap garis sejajar sumbu 3D: garis (ang manapun dalam ruang 3D) Rotasi ang paling mudah sumbu rotasi berhimpit dgn salah satu sumbu koordinat
Konvensi tentang (+) berlawanan arah jarum jam; (-) searah jarum jam Dilihat dari ujung positif sumbu rotasi ke (,,) 54 (+)
Rotasi dgn sumbu rotasi = sumbu koordinat Rotasi terhadap sumbu : = cos - sin = sin + cos = cos sin sin cos ' ' ' 55 Rotasi terhadap sumbu dan mudah didapat dengan mengganti secara siklik: P =R ().P
Rotasi cos sin sin cos ' ' ' cos sin sin cos ' ' ' cos sin sin cos ' ' ' Terhadap sumbu (R) Terhadap sumbu (R) Terhadap sumbu (R)
Rotasi terhadap garis g sejajar dgn sumbu koordinat Urutan transformasi: Translasi, sampai garis sumbu rotasi berhimpit dengan salah satu sumbu koordinat Rotasi terhadap sumbu koordinat tersebut Translasi balik, hingga sumbu rotasi kembali ke posisi semula P = T -. R (). T. P 57
Rotasi terhadap garis sembarang 58 Urutan transformasi: Translasi, sampai sumbu rotasi memotong salah satu sumbu koordinat Rotasi, sampai sumbu rotasi berhimpit dengan salah satu sumbu koordinat Rotasi terhadap sumbu koordinat tersebut Rotasi balik, hingga sumbu rotasi kembali ke kemiringan semula Translasi balik, hingga sumbu rotasi kembali ke posisi semula
Refleksi Terhadap garis sumbu refleksi Rotasi 8 terhadap garis tersebut Terhadap bidang refleksi 59 Bidang koordinat (,, atau ) konversi dari sistem koordinat tangan kanan ke tangan kiri atau sebalikna Bidang sebarang rotasi 8 terhadap bidang tersebut dalam ruang empat dimensi
Refleksi terhadap bidang koordinat 6 Refleksi relatif terhadap bidang RF
Shear Bisa dilakukan relatif terhadap sumbu, atau Contoh shear terhadap sumbu : b a SH 6
Transformasi komposit Transformasi komposit pada 3D analog dengan transformasi komposit pada 2D Dilakukan dengan cara mengalikan sejumlah matriks transformasi [44] sesuai urutan kemunculanna 62
Transformasi komposit 63
Transformasi komposit Diketahui koordinat 3 dimensi A(2,,), B(8,,), C(5,,), dan D(5,6,5). Tentukan koordinat baru bila mengalami transformasi 3 dimensi berikut secara berurutan : Translasi dengan (t,t,t) = (5, 6, 2) 64 Skala dengan (s,s,s) = (3,2,2) Rotasi dengan θ = 9 o terhadap sumbu Rotasi dengan θ = 9 o terhadap sumbu Rotasi dengan θ = 9 o terhadap sumbu
65 Terima Kasih