BerdasarkanPada
Fungsional
12.1 Pendahuluan
Bab ini melihat gagasan mengenai pembangkitan obyek atau struktur menurut
prosedur. Ini adalah sebuah bidang penting dalam grafik komputer, dan hanya
merupakan cara praktis dimana adegan tertentu dapat dihasilkan. Sebagai contoh,
pohon dalam sebuah pemandangan alam hanya pantas dihasilkan menurut prose-
duro Sebuah contoh mengenai pembangkitan yang menurut prosedur yang telah
kita singgung adalah definisi dari sebuah medan tekstur tiga-dimensi. Perhitung-
an terlebih dahulu dan penyimpanan sebuah medan tekstur akan mahal dan
tekstur tersebut dihitung pada saat perenderan dari sebuah prosedur.
Di dalam bab ini kita memaparkan tiga teknik umum yang digunakan dalam
grafik komputer tiga-dimensi. Ini adalah:
· fungsi deterministic atau non-stochasticyang telah digunakan (terutama fungsi
harmonik dalam pembangkitan tanah lapang),
· fungsi stochastic yang digunakan dalam pembangkitan fenomena seperti tanah
lapang, api, dan turbulensi, dan
· sebuah gabungan dari yang diatas yang telah digunakan, misalnya, didalam
model air atau gelombang.
Teknik ini digunakan untuk memodulasi sebuah atribut dari sebuah obyek yang
ada (seperti dalam, misalnya, tekstur kelereng yang diuraikan dalam Bab 7) atau
fungsi yang barangkali ia sendiri menghasilkan sebuah obyek seperti dalam
sistem partikel yang kini diuraikan.
488
Metode Pemodelan Berdasarkan Pada Fungsional 489
Nt = M, + Random(r) V,
dimana M, adalah jumlah rata-rata dari partikel dalam suatu populasi. Random(r)
adalah sebuah variabel pseudorandomdan V,adalahvariansi dari populasi tersebut.
Pendekatan yang sarna dapat digunakan untuk menentukan nilai bagi parame-
ter awal yang bisa menguraikan, misalnya, pengusiran sebuah partikel dad sebuah
titik. Parameter yang digunakan oleh Reeves adalah:
490 Pengantar Komputer Grafik
. posisi awal,
. kecepatan awal (kecepatan dan arah),
. ukuran awal,
. wama awal,
. sifat tembus pandang awal,
. bentuk, dan
. waktu hidup.
Pergerakan dari partikel individual kemudian ditulis menggunakan parameter ini
sebagai fungsi waktu. Reeves menggunakan sistem yang tepat sarna dengan
sistem ini dalam 'Star Trek II' untuk membangkitkan sebuah transformasi (dari
sebuah planet mati menjadi sebuah planet hidup) dengan menggerakkan sebuah
dinding api melintas sebuah permukaan planet.
yang berkesan dari jenis pendekatan ini diberikan dalam 'The Mighty Maple'
(Bloomenthal, 1985), dimana model pohon tersebut adalah tiga-dimensi dan
pemetaan tekstur digunakan untuk memodel kulit kayu pada cabang.
Di dalam grafik komputer tiga-dimensi, teknik fractal telah digunakan untuk
menghasilkan model tanah lapang dan teknik yang paling mudah melibatkan
sub-pembagian facet dari obyek yang berisi segitiga dan quadrilateral. Sebuah
prosedur sub-pembagian rekursif diterapkan pada masing-masing facet, terhadap
sebuah kedalaman atau tingkat rincian yang diperlukan, dan hasil model tanah
lapang yang meya-kinkan. Sub-pembagian dalam konteks ini berarti mengambil
titik tengah sepanjang tebing antara dua puncak dan mengganggunya sepanjang
sebuah normal garis ke tebing. Hasil dari hal ini adalah untuk membagi-bagi facet
yang asli menjadi sejumlah besar facet yang lebih kecil, masing-masing memiliki
sebuah orientasi acak didalam ruang tiga-dimensi sekitar orientasi facet yang asli.
Bentuk global asal dari obyek tersebut dipertahankan sedemikian rupa sehingga
tergantung pada gangguan pada sub-pembagian dan sebuah piramid empat-sisi
planar bisa berubah menjadi sebuah obyek yang berbentuk 'Mont Blanc'.
Kebanyakan algoritma sub-pembagian didasarkan pada sebuah rumusan oleh
Fournier, Fussel, dan Carpenter (1982) yang membagi-bagi sebuah segmen garis
tunggal secara rekursif.Algoritma ini dikembangkansebagai sebuah altematif yang
secara matematis lebih benar, akan tetapi mahal, prosedur yang disarankan oleh
Mandelbrot. Ia menggunakan kemiripan-sendiri dan sifat harapan bersyarat dari
pecahan gerakan Brownian untuk memberikan sebuah perkiraan dari peningkatan
proses stochastic. Proses tersebut adalahjuga Gaussian dan hanya parameter yang
diperlukan untuk menguraikan sebuah distribusi Gaussian adalah 'mean' (harap-
an bersyarat) dan variansi.
Prosedur (Program 12.2)membagi-bagisebuah garis secara rekursif(ttJj),(t2l2)
dengan menghasilkan sebuah perpindahan skalar dari titik-tengah pada garis
dalam arah normal terhadap garis tersebut (Gambar 12.1).
Untuk memperluas prosedur ini, katakan, segitiga atau quadrilateral didalam
ruang tiga-dimensi, kita memperlakukan masing-masing edge yang selanjutnya
menghasilkan perpindahan sepanjang sebuah vektor yang merupakan normal ter-
hadap bidang facet yang asli (Gambar 12.2). Dengan menggunakan teknik ini kita
dapat mengambil sebuah piramida yang mulus, katakan, yang dibuat dari sisi
segitiga yang besar dan mengubahnya menjadi sebuah bukit yang kasar.
Fournier mengkategorisasikan dua masalah didalam metode ini - konsistensi
internal dan eksternal. Konsistensi internal memerlukan bahwa bentuk yang diha-
Metode Pemodelan Berdasarkan Pada Fungsional 493
II ~--------
'I t"..~1
silkan harus sarna apapun orientasi dirnana ia dihasilkan, dan rincian kekasaran
rnasih sarna jika bentuk tersebut digarnbarkan kernbali pada resolusi yang lebih
besar. Untuk rnernenuhikeperluan yang pertarna,Gaussian yang dihasilkan secara
acak harus tidak rnerupakan sebuah fungsi dari posisi titik, akan tetapi harus unik
terhadap titik itu sendiri. Sebuah pengidentifikasititik invariant perlu digabungkan
dengan rnasing-rnasingtitik. Masalah ini dapat diselesaikandidalarn pernbangkitan
tanah lapang perlu dihubungkan dengan rnernberikan sebuah nilai kunci yang
digunakan untuk rnengindekssebuah bilanganacak Gaussian. Sebuah fungsi 'hash'
yang dapat digunakan untuk rnernetakan dua buah kunci dari titik ujung pada
sebuah garis ke sebuah nilai kunci untuk titik tengah. Keperluan akan skala dari
konsistensiinternalberartibahwabilanganacakyang sarnaharus selalu dibangkitkan
dengan urutan yang sarna pada sebuahtingkat sub-pernbagiantertentu.
Konsistensi eksternallebih sulit untuk dipertahankan. Oidalarnjaring segitiga
setiap segitiga patungan sisinya dengan yang lain, jadi perpindahan acak yang
sarna harus dibangkitkan untuk rnenghubungkan titik dari segitiga penghubung
yang berbeda. Ini telah diselesaikan dengan rnenggunakan nilai kunci dari rna-
sing-rnasing titik dan fungsi 'hash', akan tetapi rnasalah yang lain rnasih ada, pada
arah perpindahan.
Metode Pemode/an Berdasarkan Pada Fungsiona/ 495
Jika perpindahan sepanjang nonnal pennukaan dari poligon yang sedang di-
tinjau, kemudian poligon yang berdekatan yang memiliki nonnal yang berbeda
(menurut definisi, selalu merupakan kasus) yang akan memiliki perpindahan titik
tengah mereka menuju posisi yang berbeda. Ini menyebabkan celah terbuka. Sebuah
penyelesaian adalah dengan memindahkan titik tengah sepanjang nonnal rata-rata
terhadap semua po ligon yang berisi ia, akan tetapi masalah ini terjadi pada setiap
tingkat rekursi dan akibatnya adalah sangat mahal untuk diimplementasikan. Juga,
teknik ini akan menciptakan kaki langit yang tidak memuaskan karena perpindahan
tersebut tidak dikekang pada satu arab. Sebuah kaki langit yang lebih bagus diperoleh
dengan membuat semua perpindahan titik internal menuju poligon yang asli searah
dengan nonnal bidang poligon yang asli tersebut, dan celah diciptakan oleh mereka.
Kini nonnal pennukaan tidak perlu diciptakan pada masing-masing tingkat rekursi
dan algoritma tersebut dianggap lebih murah karena hal ini.
Dua sifat yang lain bagus untuk disebutkan. Pertama, catat bahwa poligon tersebut
harns dibayangi secara tetap tanpa memperhitungkan nonnal puncak - ketidak
malaran antara antara poligon harus tidak dimuluskan. Kedua, perhatikan warna.
Pola warna global yang biasa menggunakan sebuah pemetaan yang tergantung pada
ketinggian. Secara rincci, warna yang ditetapkan ke sebuah titik tengah adalah salah
satu dari warna ujungnya. Yang dipilih ditentukan oleh sebuah boolean acak yang
diindeks oleh nilai kunci dari titik-tengah. Sekali lagi ini harus diakses dengan cara
ini untuk mempertahankan konsistensi, yang sepenting warna seperti halnya posisi.
Sintesa Fourier dapat digunakan sebagai sebuah dasar untuk banyak fenomena
alami termasuk air dan tanah lapang. Ia pertama kali tampak digunakan dalam
grafik komputer untuk meniru tanah lapang dalam simulator penerbangan
(Schachter, 1980; 1983). Didalam pemakaian ini fungsi cosinus dua-dimensi
digunakan untuk memodulasi wama dari sebuah bidang datar dalam perspektif,
untuk memberikan penteksturan yang ekonimis bagi isyarat kedalaman.
Gardener (1984; 1985) menggunakan sintesa Fourier tiga-dimensi untuk me-
model awan, pohon, dan tanah lapang, dan menunjukkan bahwa pendekatan
tersebut cukup berdaya gun a untuk memodel ciri mikro - seperti daun pada
pohon dan kerutan pada tanah lapang -
begitu juga ciri makro - pengelom-
pokan pohon dan topografi bukit yang utama.
Pembangunan sebuah medan tekstur tiga-dimensidengan menggunakan sintesa
Fourier berarti membangkitkan parameter yang menentukan amplitudo, fre-
kuensi, dan fase dari sinusoida. Kemudian ini digabungkan secara linear untuk
menghasilkan sebuah fungsi dimana, dengan pemilihan parameter secara hati-
hati, periodik yang melandasi dapat ditutup atau disembunyikan. Gardener meng-
gunakan sebuah fungsi tiga-dimensi G(X,Y,Z) untuk memodel bentuk yang tidak
Metode Pemodelan Berdasarkan Pada Fungsional 497
berbentuk pohon dan awan, dengan memodulasi intensitas permukaan dan sifat
tembus pandang dari elips. Pola parameter yang dikembangkan oleh Gardener
(1988) adalah:
dimana:
n adalah sebuah nilai antara 4 dan 7
Ci+l ~ 0.707 Ci
C1 dipilih sedemikian rupa sehingga G(X;Y,z) :::;;1 dan nilai C;, roxi, royi, rozi
memberikan sebuah spektrum bersama l/f didalam semua macam fenomena alami.
Nilai awal dari ro menentukan landasan atau &ekuensi dasar seperti penggulungan bukit
dalam sebuah tanah lapang.
roxi+I ~ 2roxi
royi+l~ 2royi
rozi+ I ~ 2rozi
(jJxi,(jJyi,dan (jJziadalah pergeseran fase kemana sebuah komponen acak dapat dibuat
Ao adalah offset dasar yang menyediakan kendali kontras.
Sebuah studi yang lengkap mengenai bagaimana cara parameter ini diubah untuk
memberikan tekstur alami yang meyakinkan ditemukan oleh Gardener (1988).
Metode Pemodelan Berdasarkan Pada Fungsional 499
sebagai fungsi waktu sedemikian rupa sehingga riak akan lenyap begitu mereka
menyebar. Sebuah model gelombang yang teliti diperoleh dalam tulisan Fournier,
Fussel, dan Carpenter (1986).