Minggu, 27 Januari 2019
Kd.4 Rendering Konsep objek 3D
Pemrograman Grafik-Rindering obyek 3D
3D Rendering merupakan proses untuk
membentuk sebuah gambar dari sebuah model yang dibentuk oleh perangkat lunak
animasi, model tersebut berisi data geometri, titik pandang, tekstur dan cahaya
yang diperlukan untuk membuat gambar yang utuh.
3D Rendering merupakan proses yang sangat
penting dan telah digunakan untuk berbagai macam penggunaan, seperti program
permainan komputer, efek spesial pada film dan program simulasi.
Hasil Proses 3D Rendering
Terdapat banyak hasil yang dapat diperoleh
dan ditampilkan dari proses 3D Rendering pada suatu sketsa wireframe,
diantaranya :
Shading = Variasi warna dan kecerahan yang
timbul pada suatu permukaan berdasarkan pencahayaan yang dilakukan
Texture-Mapping = Detail yang muncul pada
suatu permukaan
Bump-Mapping = Kontur yang muncul pada
suatu permukaan
Fogging / Participating Medium = Bagaimana
berkas cahaya berubah jika melewati udara yang tidak murni
Shadows = Efek dari cahaya yang terhalang
Soft Shadows = Variasi efek dari cahaya
yang terhalang tidak sempurna
Reflection = Refleksi yang tampak pada
permukaan kaca atau gelas
Transparency = Transmisi cahaya yang
berbeda-beda jika melewati medium tertentu
Translucency = Transmisi cahaya yang berbeda-beda
jika memantul pada medium tertentu
Refraction = Cahaya yang berubah arahnya
karena efek transparency
Indirect Illumination = Cahaya yang datang
pada suatu objek namun tidak berasal dari sumber cahaya yang sebenarnya
melainkan refleksi dari permukaan objek lain
Caustics = Pantulan cahaya menyilaukan yang
timbul pada suatu objek
Depth Of Field = Objek yang berada jauh di
depan maupun di belakang objek yang menjadi fokus akan tampak buram
Motion Blur = Objek yang bergerak dengan
kecepatan tinggi atau objek yang direkam oleh kamera yang berada dalam
kecepatan tinggi akan tampak buram
Photorealistic Morphing = Teknik yang
memungkinkan hasil proses render objek 3D menjadi tampak terlihat lebih nyata
Non-Photorealistic Rendering = Teknik yang
memungkinkan hasil proses render objek 3D menjadi terlihat seperti hasil
lukisan atau gambar
Kd3. Konsep fractal
Pemrograman Grafik-Konsep fraktal bentuk
fenomena alam
Fraktal berasal dari kata fractus (pecah),
yaitu geometri yang dibangun oleh pengulangan dan perangkaian bentuk primitif
geometri tersebut. Pada dasarnya fraktal merupakan geometri sederhana yang
digandakan berulangkali dan digabungkan satu sama lain dalam skala yang
beragam. Fraktal memiliki sifat-sifatself-similarity, self-affinity,
self-inverse, dan self-squaring. Sifat self-similaritymenunjukkan bahwa fraktal
terdiri dari bagian-bagian yang berbentuk serupa satu sama lain. Self-affinity
menggambarkan bahwa fraktal disusun atas bagian-bagian yang saling terangkai
satu sama lain. Self-inverse artinya suatu bagian dari bangun fraktal dapat
merupakan susunan terbalik dari susunan lainnya, sedangkan self-squaring dapat
diartikan bahwa suatu bagian dari bangun fraktal merupakan peningkatan
kerumitan (secara matematis: pengkuadratan) dari bagian terdahulu.
(Kusumayudha, 2005)
Fraktal selalu didahului dengan proses
chaos. Proses ini, lama kelamaan akan membentuk suatu keteraturan tertentu;
yakni self-silimilarity, self-affinity, self-inverse dan self-squaring yang
merupakan konsep dasar dari geometri fraktal (Caneva dan Smirnov, 2004).
Kesebangunan diri dibentuk oleh proses chaos yang terjadi berulang-ulang
sehingga membentuk suatu keteraturan; yang disebut dengan fraktal. Untuk
memahami konsep kesebangunan diri
Minggu, 13 Januari 2019
KD 2. Morphing
Animasi merupakan kumpulan objek yang
digerakkan dengan memunculkan masing-masing objek sesuai dengan urutan dan
gerakannya. Teknik pembuatan animasi itu sendiri memiliki banyak macam, diantaranya
yaitu animasi sel, animasi path, animasi frame, animasi sprite, animasi character
dan animasi morphing.
Animasi morphing yang menekankan animasi
pada perubahan bentuk suatu objek menjadi bentuk yang lain. Animasi morphing
ini diusulkan oleh Beier dan Neely (1992) dalam music video “Black and White”
yang dibawakan oleh Michael Jackson. Konsep ini menggunakan face morphing yang
merubah wajah satu menjadi wajah yang lain. Selain itu, animasi morphing banyak
digunakan dalam film-film seperti dalam film Werewolf. Morphing animation memiliki beberapa teknik
dalam pembuatannya.
1. Teknik Cross Dissolve
Teknik animasi ini merupakan teknik dalam morphing
animation yang paling sederhana, dimana pembuatannya mengandalkan transparansi
yang di setting maksimum 100% pada gambar asal dan 0% untuk gambar tujuan. Pada
prosesnya nanti, transparansi pada gambar asal akan dikurangi sedikit demi
sedikit. Jika persentase transparansi gambar asal dan gambar tujuan dijumlahkan
akan dihasilkan 100%. Hasil morphing animation dengan teknik ini kurang
memuaskan walaupun waktu pembuatannya tidak dibutuhkan waktu yang lama.
2. Feature Based Image Morphing
Teknik animasi morphing ini memiliki
tingkat kesulitan yang lebih dibandingkan teknik morphing cross dissolve.
Teknik ini menggunakan titik-titik yang membentuk garis, dimana gambar asal dan
gambar tujuan memiliki garis-garis yang disebut dengan garis feature. Garis
feature ini lah yang akan menjadi pembatas objek dari suatu image yang akan di
morph. Teknik ini membutuhkan dua tahap dalam pembuatan morphing animation,
yaitu tahap deformation dan cross dissolve. Pada tahap deformation, image source dan image destination dirubah
dengan memperhatikan garis feature yang ada pada masing-masing image. Semakin
panjang garis feature, maka semakin bagus hasil deformation. Begitu pula dengan
jarak titik dan garis feature, semakin dekat jarak keduanya maka hasil
deformation akan semakin bagus. Pada tahap ini posisi, warna dan bentuk objek
diubah sesuai dengan objek yang terdapat pada image destination sesuai garis
feature yang terdapat dalam image destination. Setelah tahap deformation ini
selesai, dilanjutkan dengan tahap cross dissolve.
3. Mesh Morphing (Triangulation Based
Morphing)
Mesh morphing hampir sama dengan teknik
animasi morphing feature based morphing. Perbedaan kedua teknik ini terdapat
pada garis-garis feature pada mesh morphing yang membentuk segitiga dengan
memperhatikan jumlah segitiga dan titik kontrol yang terdapat dalam segitiga
tersebut. Seperti halnya feature based morphing, pada mesh morphing garis
feature pada image source dipasangkan dengan garis feature yang terdapat dalam
image destination. Perbedaannya terdapat pada kurva tertutup (segitiga) yang
dibentuk oleh tiga garis feature, dimana didalamnya terdapat titik kontrol yang
disebut site point. Deformasi dilakukan dengan mendeformasikan titik (site
point) yang terdapat di dalam segitiga dengan tiga garis feature. Peletakan
garis-garis feature ini berdasarkan delaunay triangulation yang menggunakan
algoritma insertion.
4. Selection Morphing
Teknik ini sering digunakan dalam animasi
yang membutuhkan ekspresi hewan. Selection morphing hanya men-deformasi
sebagian dari objek yang telah diinputkan. Dengan teknik selection morphing,
kita dapat menghasilkan animasi hanya dengan sebuah foto atau image source
tanpa harus melakukan cross dissolve dengan image destination.
Interpolasi Linier
Interpolasi linier adalah salah satu teknik
untuk mendapatkan nilai antara dari dua nilai dengan memperhatikan perbandingan
skala atau posisinya. Interpolasi ini menggunakan pendekatan garis lurus.
Morphing dua dimensi
Morphing dua dimensi mengubah array piksel
demi piksel menjadi array lain secara progresif. Nilai menengah antara dua
piksel dapat diperoleh dengan menginterpolasi nilai rgb sumber dan mengakhiri
piksel dengan cara yang lebih atau kurang rumit. Namun, interpolasi warna lurus
menciptakan banyak efek samping yang tidak diinginkan seperti ghosting dan
transisi yang tidak alami.
Cara yang lebih baik untuk mencapai
morphing dua dimensi adalah mengidentifikasi segmen garis pada gambar sumber
dengan segmen garis pada gambar target sehingga nilai-nilai piksel akan
benar-benar bergerak melintasi gambar sehingga fitur akan dipertahankan dengan
lebih baik. Misalnya untuk memetakan wajah ke wajah lain, adalah penting bahwa
fitur-fitur tertentu seperti mata, hidung, dan mulut diidentifikasi sehingga
gambar perantara benar-benar terlihat alami. Mulut gambar sumber akan pindah ke
tempat yang tepat di gambar target.
Morphing 3 Dimensi
Morphing tiga dimensi telah dilakukan
dengan menggunakan teknik yang kurang lebih sama. Alih-alih berurusan dengan
piksel dalam gambar dua dimensi, orang-orang yang melakukan ini menggunakan
piksel dalam struktur tiga dimensi. Algoritme masih sama, fitur yang
diidentifikasi sekarang adalah titik, tepi, kubus, dan struktur tiga dimensi
lainnya.
Minggu, 06 Januari 2019
KD 8. Memahami Konsep Sudut Pandang Kamera dan Proyeksi 3 Dimensi
A.
Konsep Kamera
Camera Angle dalam pengertian karya audio visual berati Sudut
pengambilan gambar yang menekankan tentang posisi kamera berada pada situasi
tertentu dalam membidik obyek. sudut dimana kamera mengambil gambar suatu
obyek, pemandangan atau adegan. Dengan sudut tertentu kita bisa menghasilkan
suatu shot yang menarik, dengan perspektif yang unik dan menciptakan kesan
tertentu pada adegan yang sedang kita tayangkan.Pernyataan ini menegaskan,
bahwa kamera yang dipakai dalam membidik obyek atau dengan istlah lebih populer
“Obyek dalam View Camera” itu,menggambarkan tentang keberadaan kamera berada
diposisi mana dalam keadaan seperti apa. Pemakaian Camera Angle ini diharapkan
dapat menghasilkan suatu peristiwa atau keadaan obyek dalam bidikan kamera agar
lebih terlihat menarik dan mampu mengilustrasikan kedinamisan suatu keadaan.
Setiap hasil bidikan dalam pandangan kamera mempunyai kandungan makna dan nilai
tertentu dari jenis sudut pandang yang dipakainya.
B.
Pandangan Stereo
Konsep pandangan stereo adalah satu objek 3D
dilihat dengan posisi mata yang berbeda yaitu posisi mata kanan dan mata kiri.
OpenGL dapat menghasilkan pandangan stereo dengan penciptaan viewport dua sisi
dengan sudut pandang yang berbeda.
Memahami Pandangan Stereo caranya?
§ Tipuan kedalaman dalam citra 2D.
§ Didasarkan pada stereoskopik alami dari
sistem mata otak.
§ Objek tidak dilihat dengan satu mata tetapi
dengan dua mata.
§ Masing-masing mata melihat objek dari lokasi
yang berbeda.
C. Taksonomi Proyeksi
Berdasarkan arah garis pemroyeksi tersebut dikenal berbagai jenis gambar proyeksi. Garis pemroyeksi yang sejajar tegak lurus terhadap bidang gambar menghasilkan gambar proyeksi orthogonal yang terdiri dari proyeksi Eropa, proyeksi Amerika, dan proyeksi Aksonometri. Garis pemroyeksi yang sejajar tetapi miring terhadap bidang gambar menghasilkan proyeksi Oblik (miring). Sementara garis pemroyeksi yang memusat (sentral) terhadap bidang gambar menghasilkan gambar perspektif.
C. Taksonomi Proyeksi
Kata proyeksi secara umum berarti bayangan. Gambar proyeksi berarti gambar bayangan suatu benda yang berasal dari benda nyata atau imajiner yang dituangkan dalam bidang gambar menurut cara-cara tertentu. Cara-cara tersebut berkenaan dengan arah garis pemroyeksi yang meliputi sejajar (paralel) dan memusat (sentral). Arah yang sejajar terdiri atas sejajar tegak lurus terhadap bidang gambar dan sejajar akan tetapi miring terhadap bidang gambar.
Berdasarkan arah garis pemroyeksi tersebut dikenal berbagai jenis gambar proyeksi. Garis pemroyeksi yang sejajar tegak lurus terhadap bidang gambar menghasilkan gambar proyeksi orthogonal yang terdiri dari proyeksi Eropa, proyeksi Amerika, dan proyeksi Aksonometri. Garis pemroyeksi yang sejajar tetapi miring terhadap bidang gambar menghasilkan proyeksi Oblik (miring). Sementara garis pemroyeksi yang memusat (sentral) terhadap bidang gambar menghasilkan gambar perspektif.
Kompetensi Dasar Semester 6, Pemprograman Grafik
KOMPETENSI DASAR SEMESTER 6
KD 8.
Memahami Konsep Sudut Pandang Kamera dan Proyeksi
1. 3 Dimensi
2. Konsep Kamera
3. Pandangan Stereo
4. Taksonomi Proyeksi
KD 9.
Menerapkan Efek Morphing pada Objek 2 Dimensi dan 3 Dimensi
1. Pengantar Morphing
2. Interkolasi Linier
3. Morphing 2 Dimensi
4. Morphing 3 Dimensi
KD 10.
Memahami Konsep Fraktal untuk Bentuk Bentuk Fenomena Alam
1. Pengantar Fraktal
2. Properti Fraktal
3. Fraktal dengan Set Mandelbrot
4. Fraktal dengan Set Pillied-in
KD 11. Menerapkan Rendering Objek 3 Dimensi
1. Pendahayaan
2. Pembuatan Bayangan
3. Pantulan
4. Pemberian Bayangan
5. Pemberian Tekstur
Kamis, 03 Januari 2019
Data Kondisional ~ Materi Basis Data
Materi BasisbData ~ Data Kondisional
NVL
NVL adalah fungsi yang akan membandingkan apakah dalam data dalam database terdapat nilai null dan menggantinya dengan sebuah nilai yang tidak null.
Contoh :
NVL2
Fungsi NVL2 ini hamper sama seperti fungsi NVL. Bedanya, pada NVL2 ini menggunakan 3 buah ekspresi.
Contoh :
Dimana :
Ekspresi1 : ekspresi yang mungkin mengandung nilai null
Ekspresi2 : nilai yang dikembalikan jika ekspresi1 TIDAK null
Ekspresi3 : nilai yang dikembalikan jika ekspresi1 bernilai null
Ekspresi1 : ekspresi yang mungkin mengandung nilai null
Ekspresi2 : nilai yang dikembalikan jika ekspresi1 TIDAK null
Ekspresi3 : nilai yang dikembalikan jika ekspresi1 bernilai null
Perintah Case
Perintah CASE menyeleksi satu rangkaian perintah-perintah untuk dieksekusi. Namun, untuk menyeleksi rangkain perintah-perintah tersebut, perintah CASE menggunakan penyeleksi, bukannya menggunakan banyak ekspresi-ekspresi Boolean.
Bentuk Umum
[<>]
CASE selector
WHEN expression1 THEN sequence_of_statements1;
WHEN expression2 THEN sequence_of_statements2;
…
WHEN expressionN THEN sequence_of_statementsN;
[ELSE sequence_of_statementsN+1;]
END CASE [label_name];
Substitusi Variabel
Variabel substitusi merupakan jenis variabel yang sifatnya dinamis. Variabel substisuti pada penggunaannya di dalam blok PL/SQL dapat menerima input nilai dari luar blok PL/SQL tersebut. Nilai yang diinputkan dapat berubah-ubah setiap kali blok PL/SQL dijalankan. Tanda bahwa variabel tersebut variabel substitusi adalah terdapat danda “&” di awal nama variabel.
Contoh
DECLARE
Result NUMBER;
Input1 NUMBER;
Input2 NUMBER;
BEGIN
Input1 := &in1;
Input2 := &in2;
Result := Input1 + Input2;
DBMS_OUTPUT.PUT_LINE(Result);
END;
Keterangan :
Jika blok PL/SQL tersebut dijalankan maka akan meminta diinputkan 2 buah nilai ke dalam variabel in1 dan in2. Misalkan in1 diisikan nilai 10 dan in2 diisikan nilai 20 maka hasil yang ditampilkan adalah hasil penjumlahan in1 dan in2 yaitu 30.