bab 12. metode permodelan berdasarkan pada...

13
12 Metode Pemodelan 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

Upload: trinhkien

Post on 05-Feb-2018

221 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: BAB 12. Metode Permodelan Berdasarkan Pada Fungsionalelearning.gunadarma.ac.id/docmodul/pengantar_komputer_grafik/bab12... · ter awal yang bisa menguraikan, ... yang berbeda. Ini

12 Metode PemodelanBerdasarkanPadaFungsional

12.1 Pendahuluan

Bab ini melihat gagasan mengenai pembangkitan obyek atau struktur menurutprosedur. Ini adalah sebuah bidang penting dalam grafik komputer, dan hanyamerupakan 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 telahkita singgung adalah definisi dari sebuah medan tekstur tiga-dimensi. Perhitung-an terlebih dahulu dan penyimpanan sebuah medan tekstur akan mahal dantekstur tersebut dihitung pada saat perenderan dari sebuah prosedur.

Di dalam bab ini kita memaparkan tiga teknik umum yang digunakan dalamgrafik komputer tiga-dimensi. Ini adalah:

· fungsi deterministicatau non-stochasticyang telah digunakan (terutama fungsiharmonik dalam pembangkitan tanah lapang),

· fungsi stochastic yang digunakan dalam pembangkitan fenomena seperti tanahlapang, api, dan turbulensi, dan

· sebuah gabungan dari yang diatas yang telah digunakan, misalnya, didalammodel air atau gelombang.

Teknik ini digunakan untuk memodulasi sebuah atribut dari sebuah obyek yangada (seperti dalam, misalnya, tekstur kelereng yang diuraikan dalam Bab 7) ataufungsi yang barangkali ia sendiri menghasilkan sebuah obyek seperti dalamsistem partikel yang kini diuraikan.

488

Page 2: BAB 12. Metode Permodelan Berdasarkan Pada Fungsionalelearning.gunadarma.ac.id/docmodul/pengantar_komputer_grafik/bab12... · ter awal yang bisa menguraikan, ... yang berbeda. Ini

Metode Pemodelan Berdasarkan Pada Fungsional 489

Pemodelan fungsional datang untuk digunakan dalam dalam grafik komputerlebih atau kurang serentak dengan sejumlah praktisi, semua yang tertarik dalampenghasilan gambar yang tampak rumit haru~ menetapkan bahwa kerumitandidalam sistem yang berdasar jaring poligon yang besar. Istilah penguatan basisdata dibuat untuk mencerminkan kenyataan bahwa gambar kompleks yang sa-ngat rinci dapat dihasilkan dad sebuah 'rumus kecil'. Teknik yang urnurn jelasdapat digunakan untuk peniruan fenomena alami, dimana kompleksitas ditengahioleh beberapa tingkat kemiripan-sendiri.

12.2 Sistem partikel

Sebuah contoh dad sebuah pola fungsional yang menghasilkan sebuah uraianobyek adalah sistem pemodelan partikel Reeves (Reeves, 1983).Disini pemodel-an dad suatu obyek dan proses perenderan bergabung menjadi sebuah pendekatanfungsional tunggal. Teknik ini digunakan untuk memodel fenomena yang disebutReeves sebagai obyek yang samar dan mencakup, rnisalnya, api, awan, dan air.Sistem partikel Reeves tidak memungkinkankeluar dari batas dengan animasi, danmeskipun obyek yang diam dapat dikembangkan dengan menggunakan teknikini, proses tersebut paling berkesan pada saat pemodelan fenomena yang berubahterhadap waktu, misalnya api.

Sebuah obyek dinyatakan oleh sebuah awan dari partikel elementer masing-masing adalah lahir, berevolusi dalam ruang, dan mati atau musnah, semua padawaktu yang berbeda. Partikel individual bergerak dalam ruang tiga-dimensi danberubah atribut seperti warna, sifat ternbus pandang, dan ukuran sebagai fungsidari waktu.

Watak global dad sebuah awan partikel dan watak rinci dari partikel indivi-dual diturunkan dad bermacam-macam fungsi. Sebagai contoh, jumlah partikelyang dibangkitkan pada saat tertentu dapat diturunkan dad:

Nt =M, + Random(r) V,

dimana M, adalah jumlah rata-rata dari partikel dalam suatu populasi. Random(r)adalah sebuahvariabel pseudorandomdan V,adalahvariansidari populasi tersebut.

Pendekatan yang sarna dapat digunakan untuk menentukan nilai bagi parame-ter awal yang bisa menguraikan, misalnya, pengusiran sebuah partikel dad sebuahtitik. Parameter yang digunakan oleh Reeves adalah:

Page 3: BAB 12. Metode Permodelan Berdasarkan Pada Fungsionalelearning.gunadarma.ac.id/docmodul/pengantar_komputer_grafik/bab12... · ter awal yang bisa menguraikan, ... yang berbeda. Ini

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 inisebagai fungsi waktu. Reeves menggunakan sistem yang tepat sarna dengansistem ini dalam 'Star Trek II' untuk membangkitkan sebuah transformasi (darisebuah planet mati menjadi sebuah planet hidup) dengan menggerakkan sebuahdinding api melintas sebuah permukaan planet.

12.3 Sistem fractal

Geometri fractal adalah sebuah suku yang dibuat oleh Benoit Mandelbrot (1977;1982). Istilah tersebut digunakan untuk menguraikan atribut fenomena alamitertentu, misalnya garis pantai. Sebuah garis pantai dipandang pada sembarangtingkat rincian - pada tingkat mikroskopis, pada sebuah tingkat dimana batuindividual dapat dilihat atau pada tingkat ' geografis' - cenderung menampakkantingkat gerigi yang sarna;jenis statistik kemiripan sendiri. Geometri fractal mem-berikan sebuah uraian untuk aspek tertentu dari fenomena 'obiquitous' secaraalami dan kecenderungannya ke arah kemiripan sendiri. Secara konseptual inidilukiskan dalam Plate 26, yang dihasilkan oleh sebuah prosedur rekursif yangsederhana(Program 12.1)yangpadadasarnyamenggambarpohon biner. Parameterseperti sudut cabang dan panjang diganggu secara acak. (Karena program seder-hana ini menggunakan garis untuk meniru bentuk sederhana tiga-dimensi kitamenggunakan utilitas garis dua-dimensi yang bukan standar. Mereka adalahColour, Move_to, dan Line_to.) Plate 26 memperlihatkan hasil dari dua buaheksekusi dari prosedur yang sarna dengan menggunakan sebuah aturan pohonbiner. Dua buah lukisan yang lain dihasilkan dengan memperkenalkan lebih daridua cabang pada masing-masing titik. Ia dapat dilihat dari contoh ini bahwakenyataan dapat ditingkatkan dengan membuat diameter dari cabang berubahsebagai fungsi kedalaman, dengan memperkenalkan, katakan, pembengkokanyang disebabkan oleh angin dan menggunakan dimensi ruang ketiga. Pola pen-

Page 4: BAB 12. Metode Permodelan Berdasarkan Pada Fungsionalelearning.gunadarma.ac.id/docmodul/pengantar_komputer_grafik/bab12... · ter awal yang bisa menguraikan, ... yang berbeda. Ini

Metode Pemodelan Berdasarkan Pada Fungsional 491

Program 12.1 Rutin rekursifuntuk penggambaran pohon biner.- ~~'-'-..- - -. .....-.---.-- -......---

()rocedure trl'l~(:.:,y: reul; {II/KI.,, hmlld,jll1l, heiKht: reul; heightJilctor.all/{l.,/actor: real: Immdulellsity, depth: imeKer)~

CO"st pi = 3.142:

vur i, xint, yillt: intl!/{er; :<inc,yil/c. start, theta: real;begin

xim:= rowul(x); yim:= rOlll/d(y):if' depth = () thenhegin {draw a 'leaF}

Colour( Kreen):Muve_to(xint - 2, yint): Lil/e_to(xim + 2, yim);Move_LO(xint, yim - 4); Line_to(xim, yint + 4)

endelsebegin

start := angle - branchfan/2:theta := branchfan/branchdensity:if depth <= 2 then heightfactor := heightfactor/2;xinc := heighhcos(angle/180"pi):yinc := height*Sin(angle/180"pi):angle := start;Colour (red);

Move_to(xim, yim); Line_to(round(x + xinc), round(y + yinc»;for i := to branchdensity + 1 dobegin

tree(x + xinc, y + yinc,angle/2 + sign(angle)"random(round(abs(angle» + 1),branchfan "anglefactor, height"heightfactor/2 +random (round( height"heightfactor) + 1), heightfactor ,anglefactor, branchdensity, depth - 1);

angle := angle + thetaend

endend:

cabangan tersebut mudah diperluas menjadi dimensi ketiga dengan menggunakandua sudut pada sebuah cabang - sebuah azimut dan sudut elevasi. Sebuah contoh

Page 5: BAB 12. Metode Permodelan Berdasarkan Pada Fungsionalelearning.gunadarma.ac.id/docmodul/pengantar_komputer_grafik/bab12... · ter awal yang bisa menguraikan, ... yang berbeda. Ini

492 Pengantar Komputer Grajik

yang berkesan dari jenis pendekatan ini diberikan dalam 'The Mighty Maple'(Bloomenthal, 1985), dimana model pohon tersebut adalah tiga-dimensi danpemetaan tekstur digunakan untuk memodel kulit kayu pada cabang.

Di dalam grafik komputer tiga-dimensi, teknik fractal telah digunakan untukmenghasilkan model tanah lapang dan teknik yang paling mudah melibatkansub-pembagian facet dari obyek yang berisi segitiga dan quadrilateral. Sebuahprosedur sub-pembagian rekursif diterapkan pada masing-masing facet, terhadapsebuah kedalaman atau tingkat rincian yang diperlukan, dan hasil model tanahlapang yang meya-kinkan. Sub-pembagian dalam konteks ini berarti mengambiltitik tengah sepanjang tebing antara dua puncak dan mengganggunya sepanjangsebuah normal garis ke tebing. Hasil dari hal ini adalah untuk membagi-bagi facetyang asli menjadi sejumlah besar facet yang lebih kecil, masing-masing memilikisebuah orientasi acak didalam ruang tiga-dimensi sekitar orientasi facet yang asli.Bentuk global asal dari obyek tersebut dipertahankan sedemikian rupa sehinggatergantung pada gangguan pada sub-pembagian dan sebuah piramid empat-sisiplanar bisa berubah menjadi sebuah obyek yang berbentuk 'Mont Blanc'.

Kebanyakan algoritma sub-pembagian didasarkan pada sebuah rumusan olehFournier, Fussel, dan Carpenter (1982) yang membagi-bagi sebuah segmen garistunggal secara rekursif.Algoritma ini dikembangkansebagai sebuah altematif yangsecara matematis lebih benar, akan tetapi mahal, prosedur yang disarankan olehMandelbrot. Ia menggunakan kemiripan-sendiri dan sifat harapan bersyarat daripecahan gerakan Brownian untuk memberikan sebuah perkiraan dari peningkatanproses stochastic. Proses tersebut adalahjuga Gaussian dan hanya parameter yangdiperlukan 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 garisdalam arah normal terhadap garis tersebut (Gambar 12.1).

Untuk memperluas prosedur ini, katakan, segitiga atau quadrilateral didalamruang tiga-dimensi, kita memperlakukan masing-masing edge yang selanjutnyamenghasilkan perpindahan sepanjang sebuah vektor yang merupakan normal ter-hadap bidang facet yang asli (Gambar 12.2).Dengan menggunakan teknik ini kitadapat mengambil sebuah piramida yang mulus, katakan, yang dibuat dari sisisegitiga yang besar dan mengubahnya menjadi sebuah bukit yang kasar.

Fournier mengkategorisasikan dua masalah didalam metode ini - konsistensiinternal dan eksternal. Konsistensi internal memerlukan bahwa bentuk yang diha-

Page 6: BAB 12. Metode Permodelan Berdasarkan Pada Fungsionalelearning.gunadarma.ac.id/docmodul/pengantar_komputer_grafik/bab12... · ter awal yang bisa menguraikan, ... yang berbeda. Ini

Metode Pemodelan Berdasarkan Pada Fungsional 493

Program 12.2 Sub-pembagian dari sebuah garis secara rekursif.------.---- - -....-

procedure fmctulCtl. p. 12. p. rc.w/miu". rollgl1f/('.\'.~:/'('Il/):

vllr r. timid. fmid: rcal:

he~inif (.~qr(t2 - tl) + sqr(f2 - fl) < sqr(re.l'o/utiOtI) then

be~inMove_ toe round( tl). round(fl):Lillc_ toe round( t2). rollnd(j2»

endelsebegin

r := rand( -1. + 1):tmid := (tl + t2)/2 - roughness*(12 - 11)*r;Imid := (/1 + 12)/2 + rOllghness*(t2 - tl)*r;Iractal(tl. fl. tmid, Imid. resolution, roughness);jractal(tmid, Imid, 12, /2, resolution, roughness)

endend:

I

II~--------

'I t"..~1

Gambar 12.1 Sub-pembagian segmen garis.

Page 7: BAB 12. Metode Permodelan Berdasarkan Pada Fungsionalelearning.gunadarma.ac.id/docmodul/pengantar_komputer_grafik/bab12... · ter awal yang bisa menguraikan, ... yang berbeda. Ini

494 Pengantar Komputer Grafik

\

Gambar 12.2 Sub-pembagian segitiga.

silkan harus sarna apapun orientasi dirnana ia dihasilkan, dan rincian kekasaran

rnasih sarna jika bentuk tersebut digarnbarkan kernbali pada resolusi yang lebihbesar. Untuk rnernenuhikeperluanyang pertarna,Gaussian yang dihasilkan secaraacak harus tidak rnerupakan sebuah fungsi dari posisi titik, akan tetapi harus unikterhadap titik itu sendiri. Sebuah pengidentifikasititik invariantperlu digabungkandengan rnasing-rnasingtitik. Masalah ini dapat diselesaikandidalarn pernbangkitantanah lapang perlu dihubungkan dengan rnernberikan sebuah nilai kunci yangdigunakan untuk rnengindekssebuah bilanganacak Gaussian. Sebuah fungsi 'hash'yang dapat digunakan untuk rnernetakan dua buah kunci dari titik ujung padasebuah garis ke sebuah nilai kunci untuk titik tengah. Keperluan akan skala darikonsistensiinternalberartibahwabilanganacakyang sarnaharusselaludibangkitkandengan urutanyang sarnapada sebuahtingkat sub-pernbagiantertentu.

Konsistensi eksternallebih sulit untuk dipertahankan. Oidalarnjaring segitigasetiap segitiga patungan sisinya dengan yang lain, jadi perpindahan acak yangsarna harus dibangkitkan untuk rnenghubungkan titik dari segitiga penghubungyang berbeda. Ini telah diselesaikan dengan rnenggunakan nilai kunci dari rna-sing-rnasing titik dan fungsi 'hash', akan tetapi rnasalahyang lain rnasih ada, padaarah perpindahan.

Page 8: BAB 12. Metode Permodelan Berdasarkan Pada Fungsionalelearning.gunadarma.ac.id/docmodul/pengantar_komputer_grafik/bab12... · ter awal yang bisa menguraikan, ... yang berbeda. Ini

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 titiktengah mereka menuju posisi yang berbeda. Ini menyebabkan celah terbuka. Sebuahpenyelesaian adalah dengan memindahkan titik tengah sepanjang nonnal rata-rataterhadap semua poligon 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 diperolehdengan membuat semua perpindahan titik internal menuju poligon yang asli searahdengan nonnal bidang poligon yang asli tersebut, dan celah diciptakan oleh mereka.Kini nonnal pennukaan tidak perlu diciptakan pada masing-masing tingkat rekursidan algoritma tersebut dianggap lebih murah karena hal ini.

Dua sifat yang lain bagus untuk disebutkan. Pertama, catat bahwa poligon tersebutharns 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 padaketinggian. Secara rincci, warna yang ditetapkan ke sebuah titik tengah adalah salahsatu dari warna ujungnya. Yang dipilih ditentukan oleh sebuah boolean acak yangdiindeks oleh nilai kunci dari titik-tengah. Sekali lagi ini harus diakses dengan cara

ini untuk mempertahankan konsistensi, yang sepenting warna seperti halnya posisi.

12.4 Fungsi yang cocok untuk tekstur tiga-dimensi

12.4.1 Fungsi noise tiga-dimensi

Dua dasar umum yang digunakan dalam sintesa tekstur tiga-dimensiadalah fungsiharmonik dan fungsi random. Pengaruh yang berguna seperti kelereng mudahdicapai dengan menggabungkan keduanya.

Dasar dari tekstur solid yang didasarkan secara stochastic, yang dibahas dida-lam Bab 7, adalah sebuah fungsi noise pseudorandom yang diindeks oleh sebuahvektor atau titik tiga-dimensi. Sifat alami dan rancangan dari sebuah fungsiseperti ini diajukan oleh Perlin (1985) yang memperkenalkan sebuah fungsi yangdisebut noise. Perlin menunjukkan bahwa fungsi tersebut dirancang agar memi-liki sifat berikut:

Page 9: BAB 12. Metode Permodelan Berdasarkan Pada Fungsionalelearning.gunadarma.ac.id/docmodul/pengantar_komputer_grafik/bab12... · ter awal yang bisa menguraikan, ... yang berbeda. Ini

496 Pengantar Komputer Grajik

. invariance statistik pada perputaran,

. frekuensi batas pelewat-bidang yang sempit (ia tidak memiliki ciri yang dapatdilihat yang lebih besar atau lebih kecil dari jangkauan tertentu), dan

. invariance statistik pada translasi.

noise memiliki sebuah nilai pseudorandom untuk titik yang ditentukan dengankoordinat x,y,z - kisi integer. Untuk semua titik yang lain di dalam suatu ruangnilai noise ditentukan oleh interpolasi dari nilai pada kisi integer. Kebutuhan bagipendekatan ini dapat dilihat dengan membayangkan hasil dengan mengembalikansebuah bilangan pseudorandom untuk masing-masing (floating-point) masukanvektor tiga-dimensi ke fungsi tersebut. Prosedur yang diperlihatkan dalam Pro-gram 12.3 adalah sebuah pengimplementasian noise yang sederhana.

Perlin menggunakanfungsi noise ini didalam bermacam-macamkonteks untukmemodulasi wama dan mengganggu normal dari obyek tiga-dimensi. Salah satudari pemakaian noise yang paling efektif yang dikembangkan oleh Perlin adalahsebuah fungsi turbulensi sintetis yang digunakan untuk memodel corona mata-hari.

12.4.2 Sintesa Fourier

Sintesa Fourier dapat digunakan sebagai sebuah dasar untuk banyak fenomenaalami termasuk air dan tanah lapang. Ia pertama kali tampak digunakan dalamgrafik komputer untuk meniru tanah lapang dalam simulator penerbangan(Schachter, 1980; 1983). Didalam pemakaian ini fungsi cosinus dua-dimensidigunakan 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 pendekatantersebut cukup berdaya gun a untuk memodel ciri mikro - seperti daun padapohon dan kerutan pada tanah lapang - begitu juga ciri makro - pengelom-pokan pohon dan topografi bukit yang utama.

Pembangunan sebuah medan tekstur tiga-dimensidengan menggunakan sintesaFourier berarti membangkitkan parameter yang menentukan amplitudo, fre-kuensi, dan fase dari sinusoida. Kemudian ini digabungkan secara linear untukmenghasilkan 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

Page 10: BAB 12. Metode Permodelan Berdasarkan Pada Fungsionalelearning.gunadarma.ac.id/docmodul/pengantar_komputer_grafik/bab12... · ter awal yang bisa menguraikan, ... yang berbeda. Ini

Metode Pemodelan Berdasarkan Pada Fungsional 497

Program 12.3 Sebuah pengimplementasian noise yang sederhana. ~._-_.._-.~

procedure inilialize_ noi,\'e;

var

x, y, z, xx, yy, zz: nrange;

he~in{set up the noise lattice}for x :=0 to mux_ noise do

for y :=0 to mux_ noise dofor z := 0 to max_ noise do

beginnoise_ table [x , y, z] := round(randohl(l)*lOOOO);if x = max_noise then xx := 0 else xx := x;if y = mux_ noise then yy := 0 else yy := y;if z = max_ noise then zz := 0 else ::z := z;

noise_ table[x, y, z] := noise_ table[xx, yy, ::::]end;

end {initialize_ noise};

function frac( r: real): real;

beginfrac := r - trunc( r);

end {frac};

function noise(x, y, z: real): real;

var

ix, iy, iz: integer;ox. oy, oz: real:n: integer:nOO,n01, n10, nll: real:nO, n1. real:

begin{offset x, y, Z to ensure they are positive}x := x + 15000; y := y + 15000; z := Z + 15000;

{find lattice coordinates and real offsets}ix:= trllnc(x) mod max_noise;iy := trzmc(y) mod max_lIoise;i:: := lrunc(::) mod lIllL\:_ lIoise;

ox := frac(x): oy := frac(y); 0:: := frac(::);

{imerpolace 10getlloise \'UIlIeal (ix + ox. iy + 0)'. iz + v::)}

11:= noise_wble[ix. iy, i::);nOO:= 1/ + on(noise_ttlble[ix + 1. iy. iz] - n):1/ := lIoi.~e_ table[ ix. iy. i:: + 1):

nOI := 11 + ox.(lIoi.\'e_ttlble[ix + 1, iy. i:: + I] - n);n:= 1/oise_wble[ix. iy + 1. iz);

Page 11: BAB 12. Metode Permodelan Berdasarkan Pada Fungsionalelearning.gunadarma.ac.id/docmodul/pengantar_komputer_grafik/bab12... · ter awal yang bisa menguraikan, ... yang berbeda. Ini

498 Pengantar Komputer Grajik

/I/O := n + ox.(noi,\'('_ taM" ix + I, iy + I, iz I - n);/I :::: nOl,H1_tahll'[ix, iy + I. i: + II:fill := n + oX"(floi,\'(,_tahl..(ix+ l. iy + l. iz + II - I,):

nO := n{){)+ oY"(flIO - nOO);

nl := nOI + oy..(nll - nO/):noise := (nO + oZ"'(fll - flO»...O.OOOl;

end {nui,s'e};

berbentuk pohon dan awan, dengan memodulasi intensitas permukaan dan sifattembus pandang dari elips. Pola parameter yang dikembangkan oleh Gardener(1988) adalah:

n

G(X, Y,Z) = 2: Ci[cos (WxiX + cjJxj)+ Ao]i=l

n

X 2: Ci[COS(WyiY + cjJyi)+ Ao]i=l

n

X 2: Ci[cas (W:iZ + cjJ:j)+ Ao]i=l

(12.1)

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, rozimemberikan sebuah spektrum bersama l/f didalam semua macam fenomena alami.

Nilai awal dari ro menentukan landasan atau &ekuensi dasar seperti penggulungan bukitdalam sebuah tanah lapang.

roxi+I ~ 2roxi

royi+l~ 2royirozi+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 untukmemberikan tekstur alami yang meyakinkan ditemukan oleh Gardener (1988).

Page 12: BAB 12. Metode Permodelan Berdasarkan Pada Fungsionalelearning.gunadarma.ac.id/docmodul/pengantar_komputer_grafik/bab12... · ter awal yang bisa menguraikan, ... yang berbeda. Ini

Metode Pemodelan Berdasarkan Pada Fungsional 499

Proyek, catatan, dan saran

12.1 Pohon

Perluas Program 12.1 sedemikian rupa agar ia menghasilkan sebuah pohon dalam

ruang tiga-dimensi, sebagaimana yang disarankan dalam buku ini.

12.2 Tanah lapang fractal

Kembangkan prosedur sub-pembagian rekursif (Program 12.2) sedemikian rupasehingga ia menghasilkan sebuah tanah lapang dalam ruang tiga-dimensi denganmenggunakan teknik yang disarankan dalam buku ini.

12.3 Tanah lapang spektral

Gunakan sebuah versi dua-dimensi dari Persamaan 12.1 untuk membangkitkan

sebuah tanah lapang. Kerjakan ini dengan menggunakan G(x,y) untuk menentu-kan nilai elevasi pada masing-masing titik pada sebuah kisi yang teratur. Ke-mudian ini menentukan sebuah struktur jaring poligon yang dapat dirender oleh

sebuah perender biasa.. Catat bagaimana kendali yang sederhana dan efektiftersedia pada kekasaran tanah lapang tesebut dengan mengendalikan parameterfrekuensi ruang dan parameter amplitudo. Dapatkah pendekatan ini, yang jauhlebih sederhana dari sub-pembagian, menghasilkan pengaruh visual yang sarnasebagaimana teknik fractal?

12.4 Tanah lapang spektral animasi

Hasilkan sebuah sebuah film yang dianimasi, dimana sebuah gangguan koherendari sebuah bentuk yang cocok yakni (katakan) sejajar dengan salah satu sumbukoordinat melalui tanah lapang. Muncul bermacam-macam kemungkinan; misal-nya, ukuran gangguan dapat bertambah atau berkurang begitu ia berjalan, atausebuah pusat gangguan dapat bergerak keluar.

12.5 Model gelombang sederhana

Dengan memakai 'kisi yang diganggu' dari dua proyek sebelumnya gunakansebuah sinusoida tunggal yang berjalan, mengitari sebuah gangguan tunggal,untuk meniru sebuah obyek yang dijatuhkan kedalam air. Modulasikan amplitudo

Page 13: BAB 12. Metode Permodelan Berdasarkan Pada Fungsionalelearning.gunadarma.ac.id/docmodul/pengantar_komputer_grafik/bab12... · ter awal yang bisa menguraikan, ... yang berbeda. Ini

500 Pengantar Komputer Grajik

sebagai fungsi waktu sedemikian rupa sehingga riak akan lenyap begitu merekamenyebar. Sebuah model gelombang yang teliti diperoleh dalam tulisan Fournier,Fussel, dan Carpenter (1986).

12.6 Modulasi tiga-dimensi dari permukaan

Gunakan Persamaan 12.1 untuk memodulasi permukaan dari sembarang modelyang cocok; misalnya, pindahkan puncak dari sebuah obyek yang diperkirakanbola sejumlah yang ditentukan oleh Persamaan 12.1 sepanjang sebuah garis daripusat obyek tersebut ke puncak (catat bahwa cara yang paling mudah untukmengimplementasikan metode ini adalah dengan menggunakan sebuah perenderpenyangga-Z penuh.

12.7 Pemandangan alam (*)

Integrasikan semua teknik diatas kedalam sebuah sistem pembangkitan peman-dangan alam dengan menggunakan sebuah penyangga-Z penuh untuk menyele-saikan masalah penyusunan.

Gardener (1984) memberikan rincian pada model untuk perpindahan danpendistribusian, misalnya, pohon sebuah pandangan alam kompleks.

12.8 Sistem partikel

Rancanglah sebuah sistem partikel yang akan membangkitkan sebuah sistemuntuk memodel kembang api. Ini yang paling baik didemonstrasikan denganmenggunakan sebuah urutan yang dianimasi. Variabel yang mencakup ledakanyang bentuknya berbeda, berbeda sudut pelemparan, lintasan yang berbeda, danwarna partikel tersebut berubah sebagai fungsi waktu.