Anda di halaman 1dari 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
Metode Pemodelan Berdasarkan Pada Fungsional 489

Pemodelan fungsional datang untuk digunakan dalam dalam grafik komputer


lebih atau kurang serentak dengan sejumlah praktisi, semua yang tertarik dalam
penghasilan gambar yang tampak rumit haru~ menetapkan bahwa kerumitan
didalam sistem yang berdasar jaring poligon yang besar. Istilah penguatan basis
data dibuat untuk mencerminkan kenyataan bahwa gambar kompleks yang sa-
ngat rinci dapat dihasilkan dad sebuah 'rumus kecil'. Teknik yang urnurn jelas
dapat digunakan untuk peniruan fenomena alami, dimana kompleksitas ditengahi
oleh beberapa tingkat kemiripan-sendiri.

12.2 Sistem partikel


Sebuah contoh dad sebuah pola fungsional yang menghasilkan sebuah uraian
obyek adalah sistem pemodelan partikel Reeves (Reeves, 1983).Disini pemodel-
an dad suatu obyek dan proses perenderan bergabung menjadi sebuah pendekatan
fungsional tunggal. Teknik ini digunakan untuk memodel fenomena yang disebut
Reeves sebagai obyek yang samar dan mencakup, rnisalnya, api, awan, dan air.
Sistem partikel Reeves tidak memungkinkankeluar dari batas dengan animasi, dan
meskipun obyek yang diam dapat dikembangkan dengan menggunakan teknik
ini, proses tersebut paling berkesan pada saat pemodelan fenomena yang berubah
terhadap waktu, misalnya api.
Sebuah obyek dinyatakan oleh sebuah awan dari partikel elementer masing-
masing adalah lahir, berevolusi dalam ruang, dan mati atau musnah, semua pada
waktu yang berbeda. Partikel individual bergerak dalam ruang tiga-dimensi dan
berubah atribut seperti warna, sifat ternbus pandang, dan ukuran sebagai fungsi
dari waktu.
Watak global dad sebuah awan partikel dan watak rinci dari partikel indivi-
dual diturunkan dad bermacam-macam fungsi. Sebagai contoh, jumlah partikel
yang 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 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.

12.3 Sistem fractal


Geometri fractal adalah sebuah suku yang dibuat oleh Benoit Mandelbrot (1977;
1982). Istilah tersebut digunakan untuk menguraikan atribut fenomena alami
tertentu, misalnya garis pantai. Sebuah garis pantai dipandang pada sembarang
tingkat rincian - pada tingkat mikroskopis, pada sebuah tingkat dimana batu
individual dapat dilihat atau pada tingkat ' geografis' - cenderung menampakkan
tingkat gerigi yang sarna;jenis statistik kemiripan sendiri. Geometri fractal mem-
berikan sebuah uraian untuk aspek tertentu dari fenomena 'obiquitous' secara
alami dan kecenderungannya ke arah kemiripan sendiri. Secara konseptual ini
dilukiskan dalam Plate 26, yang dihasilkan oleh sebuah prosedur rekursif yang
sederhana(Program 12.1)yang pada dasarnyamenggambarpohon biner. Parameter
seperti sudut cabang dan panjang diganggu secara acak. (Karena program seder-
hana ini menggunakan garis untuk meniru bentuk sederhana tiga-dimensi kita
menggunakan utilitas garis dua-dimensi yang bukan standar. Mereka adalah
Colour, Move_to, dan Line_to.) Plate 26 memperlihatkan hasil dari dua buah
eksekusi dari prosedur yang sarna dengan menggunakan sebuah aturan pohon
biner. Dua buah lukisan yang lain dihasilkan dengan memperkenalkan lebih dari
dua cabang pada masing-masing titik. Ia dapat dilihat dari contoh ini bahwa
kenyataan dapat ditingkatkan dengan membuat diameter dari cabang berubah
sebagai fungsi kedalaman, dengan memperkenalkan, katakan, pembengkokan
yang disebabkan oleh angin dan menggunakan dimensi ruang ketiga. Pola pen-
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 = () then
hegin {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)
end
else
begin
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 do
begin
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 + theta
end
end
end:

cabangan tersebut mudah diperluas menjadi dimensi ketiga dengan menggunakan


dua sudut pada sebuah cabang - sebuah azimut dan sudut elevasi. Sebuah contoh
492 Pengantar Komputer Grajik

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

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~in
if (.~qr(t2 - tl) + sqr(f2 - fl) < sqr(re.l'o/utiOtI) then
be~in
Move_ toe round( tl). round(fl):
Lillc_ toe round( t2). rollnd(j2»
end
else
begin
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)
end
end:

II ~--------

'I t"..~1

Gambar 12.1 Sub-pembagian segmen garis.


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 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.

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-dimensi adalah fungsi
harmonik dan fungsi random. Pengaruh yang berguna seperti kelereng mudah
dicapai 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 sebuah
vektor atau titik tiga-dimensi. Sifat alami dan rancangan dari sebuah fungsi
seperti ini diajukan oleh Perlin (1985) yang memperkenalkan sebuah fungsi yang
disebut noise. Perlin menunjukkan bahwa fungsi tersebut dirancang agar memi-
liki sifat berikut:
496 Pengantar Komputer Grajik

. invariance statistik pada perputaran,


. frekuensi batas pelewat-bidang yang sempit (ia tidak memiliki ciri yang dapat
dilihat yang lebih besar atau lebih kecil dari jangkauan tertentu), dan
. invariance statistik pada translasi.
noise memiliki sebuah nilai pseudorandom untuk titik yang ditentukan dengan
koordinat x,y,z - kisi integer. Untuk semua titik yang lain di dalam suatu ruang
nilai noise ditentukan oleh interpolasi dari nilai pada kisi integer. Kebutuhan bagi
pendekatan ini dapat dilihat dengan membayangkan hasil dengan mengembalikan
sebuah bilangan pseudorandom untuk masing-masing (floating-point) masukan
vektor tiga-dimensi ke fungsi tersebut. Prosedur yang diperlihatkan dalam Pro-
gram 12.3 adalah sebuah pengimplementasian noise yang sederhana.
Perlin menggunakan fungsi noise ini didalam bermacam-macam konteks untuk
memodulasi wama dan mengganggu normal dari obyek tiga-dimensi. Salah satu
dari pemakaian noise yang paling efektif yang dikembangkan oleh Perlin adalah
sebuah fungsi turbulensi sintetis yang digunakan untuk memodel corona mata-
hari.

12.4.2 Sintesa Fourier

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

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 do
for z : = 0 to max_ noise do
begin
noise_ 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;
begin
frac := 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 10 getlloise \'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);
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 sifat
tembus pandang dari elips. Pola parameter yang dikembangkan oleh Gardener
(1988) adalah:

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


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

X 2: Ci[cas (W:iZ + cjJ:j)+ Ao] (12.1)


i=l

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

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 rupa
sehingga ia menghasilkan sebuah tanah lapang dalam ruang tiga-dimensi dengan
menggunakan 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 efektif
tersedia pada kekasaran tanah lapang tesebut dengan mengendalikan parameter
frekuensi ruang dan parameter amplitudo. Dapatkah pendekatan ini, yang jauh
lebih sederhana dari sub-pembagian, menghasilkan pengaruh visual yang sarna
sebagaimana teknik fractal?

12.4 Tanah lapang spektral animasi


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

12.5 Model gelombang sederhana


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

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).

12.6 Modulasi tiga-dimensi dari permukaan


Gunakan Persamaan 12.1 untuk memodulasi permukaan dari sembarang model
yang cocok; misalnya, pindahkan puncak dari sebuah obyek yang diperkirakan
bola sejumlah yang ditentukan oleh Persamaan 12.1 sepanjang sebuah garis dari
pusat obyek tersebut ke puncak (catat bahwa cara yang paling mudah untuk
mengimplementasikan metode ini adalah dengan menggunakan sebuah perender
penyangga-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 dan
pendistribusian, misalnya, pohon sebuah pandangan alam kompleks.

12.8 Sistem partikel


Rancanglah sebuah sistem partikel yang akan membangkitkan sebuah sistem
untuk memodel kembang api. Ini yang paling baik didemonstrasikan dengan
menggunakan sebuah urutan yang dianimasi. Variabel yang mencakup ledakan
yang bentuknya berbeda, berbeda sudut pelemparan, lintasan yang berbeda, dan
warna partikel tersebut berubah sebagai fungsi waktu.

Anda mungkin juga menyukai