Upload
duongdan
View
218
Download
1
Embed Size (px)
Citation preview
Advan ed modelleerimineMark Fishel ([email protected])
28. november 2005
Täna
FraktaalidGrammatilised mudelidModelleerimine osakestegaFüüsilised mudelidSpetsiaalsed mudelidAndmete visualiseerimine
Arvutigraafika: advanced modelleerimine – p.1/37
Protseduurne modelleerimine
Mudeli p~ohjaliku kirjelduse asemel määrame viisikuidas tuletada mudeli l~oppkujuV~ordlemiseks:√2 = 1.41421356...√2 = x, x2 = 2Newtoni algoritm:
xk+1 =xk
2+
1
xk
x0 = 1, limk→∞
xk =√
2
Arvutigraafika: advanced modelleerimine – p.2/37
Protseduurne modelleerimine
Motivatsioon:Lihtsam kirjeldadaDetailsuse tase kontrollitavMudelid on paindlikumadDeformatsioonidObjektidevahelised s~oltuvused
Arvutigraafika: advanced modelleerimine – p.3/37
Fraktaalid
Fraktaalid
Siin de�neerime fraktaali kui kuju l~opmatudetailsusega. P~ohiomadus � enesesarnasus. Selle järgi 3tüüpi:Täpne enesesarnasus � �kseeritud geomeetrilineasendusreegel (IFS)Kvaasi-enesesarnasus � määratud rekurrentseseosega tasandi (ruumi) igas punktisStatistiline enesesarnasus � tuletatavadstohhastilise protsessi abil
Arvutigraafika: advanced modelleerimine – p.4/37
Joone jagamine
Arvutigraafika: advanced modelleerimine – p.5/37
Joone jagamine
Arvutigraafika: advanced modelleerimine – p.6/37
Joone jagamine
Arvutigraafika: advanced modelleerimine – p.7/37
Joone jagamine
Arvutigraafika: advanced modelleerimine – p.8/37
Joone jagamine
Arvutigraafika: advanced modelleerimine – p.9/37
Joone jagamine
Joone segmendi xi − xi+1 jagamine:xnew =
xi + xi+1
2
ynew =yi + yi+1
2+ P (xi+1 − xi) · RND
kus P (d) määrab kui palju v~oib nihkuda segmendikeskpunkt, s~oltuvalt laiusest d. Tavaline valik on
P (d) = da
Arvutigraafika: advanced modelleerimine – p.10/37
Kolmnurga jagamine
Rakendame joone jagamise tehnikat igalekolmnurga servaleSaadud keskpunktid ühendame omavahelSedasi saame 4 väiksemat kolmnurkaJätkame rekursiivselt
Arvutigraafika: advanced modelleerimine – p.11/37
Kolmnurga jagamine
Arvutigraafika: advanced modelleerimine – p.12/37
Kolmnurga jagamine
Arvutigraafika: advanced modelleerimine – p.13/37
Kolmnurga jagamine
Arvutigraafika: advanced modelleerimine – p.14/37
Kolmnurga jagamine
Arvutigraafika: advanced modelleerimine – p.15/37
Kolmnurga jagamine
Arvutigraafika: advanced modelleerimine – p.16/37
Maastiku genereerimine
Alustame mingi kujuga, kirjeldatud kolmnurkadegaSooritame mitu jagamise iteratsiooni
LODKuju salvestamiseks piisab pseudo-juhuslikenumbrite generaatori �semne� salvestamisest
Arvutigraafika: advanced modelleerimine – p.17/37
Maastiku genereerimine
Probleem � iga punkt nihkub ainult 1 kordKui lubatud nihkumisekaugus on suur,genereeritud maastik näeb välja volditudLahendus � nihutame mitte ainult keskpunkte vaidk~oike punkte igal iteratsioonil
Arvutigraafika: advanced modelleerimine – p.18/37
Kiirte l~oikumine
Iga kolmnurk määrab l~opmatu k~orget koogitükki,mille sees asuvad k~oik selle lisatud punktidKui kiir ei l~oiku koogitükiga, järelikult ei l~oiku katerve kujugaL~opmatu koogitükk on liiga suurMäärame tükki k~orguseks maksimaalsev~oimaliku punkti k~orguse algse kolmnurgatasandi suhtesArvutigraafika: advanced modelleerimine – p.19/37
Kiirte l~oikumine
Koogitükkiga l~oikumise arvutamine on keerulineMäärame ellipsoidiEkvaatori de�neerivad algse kolmnurga punktidK~orguse määravad ülejäänud punktidEllipsoidiga l~oikumise punkti leidmiseks tuleblahendada ruutv~orrandi
Arvutigraafika: advanced modelleerimine – p.20/37
Grammatilised mudelid
Grammatilised mudelid
Tähestik + teisendamisreegleidIgal tähel on oma tähendus:geomeetriline kirjeldus v~oimudeli seisundi muutus v~oimingi suvaline tegevus
Arvutigraafika: advanced modelleerimine – p.21/37
Näide
Arvutigraafika: advanced modelleerimine – p.22/37
Kasutatav lisainfo
Vanus (iteratsioonide arv)Asukoht mudelisjneKasutades lisainfot v~oib simuleerida nt. mudeli muut-mist aja jooksul � vananemist.
Arvutigraafika: advanced modelleerimine – p.23/37
Hägusam mudel
Kasutades täpset grammatikat on raske kirjeldadakeerulisi mudeleidAlternatiiv � t~oenäosuslik grammatika; nt:oksa otsas on ~oienuppsee v~oib kas emiteerida lehe, v~oikasvata natuke edasi v~oijääda pungiks � see k~oik määratudt~oenäosusegaArvutigraafika: advanced modelleerimine – p.24/37
Modelleerimine osakestega
Osakesed
Osakeste süsteem koosneb osakeste kogumist misareneb ajagaArenemist kontrollivadt~oenäosuslikud reeglid (nt. uude osakestetekkimine)stohhastilised v~oi deterministlikud seadusedNagu grammatiliste mudelite tähed, osakestel onmääratud geomeetriline kuju, orientatsioon, jne
Nt: tuli, suits, ilutulestik, mets, rohi, jne
Arvutigraafika: advanced modelleerimine – p.25/37
Osakesed
Selleks et osakesed oleks sarnased kuid mitte täpseltsamad, leiame iga omaduse väärtust vastavalt valemilevalue = centralV alue + rnd · variance
Arvutigraafika: advanced modelleerimine – p.26/37
Osakesed
NäitedRenderdamineOsakeste m~oju ülejäänud keskkonnale
Arvutigraafika: advanced modelleerimine – p.27/37
Füüsilised mudelid
Füüsilised mudelidds = v · dt
dv = a · dt∑F = m · a
a =1
m· F
v + = dv
s + = ds
Arvutigraafika: advanced modelleerimine – p.28/37
Füüsilised mudelid
Painduvuse/elastsuse j~oudT~ombej~oudTulemuseks:Pehmed objektid (nt. tekkid)KehadArvutigraafika: advanced modelleerimine – p.29/37
Kitsenduste süsteemid
Alakitsendatud/ülekitsendatudSpetsialiseeritud/üldisedKitsendused: v~orrandid, v~orratused, muudEnergia-kitsenduste süsteemFunktsioonid ≥ 0Lahendus � funktsioonide summa on 0Leitakse numbriliste meetoditega
Arvutigraafika: advanced modelleerimine – p.30/37
Spetsiaalsed mudelid
Pilved
Ellipsoid genereeritud 3D tekstuuriga (rgb + α)tekstuur - erinevate sagedustega siinustekombinatsioonArvutigraafika: advanced modelleerimine – p.31/37
Elukad
Ussid (masside ja musklide intera tion)Linnud � osakestegaInimesedKeha: kitsenduste abil (määratud lubatudpöördenurk jalgade-käedele jms)Nägu: ühendatud polügonide v~ork, polügonidühendatud musklitega
Arvutigraafika: advanced modelleerimine – p.32/37
Andmete visualiseerimine
Andmete visualiseeriminef(x, y)3D väli, z = f(x, y)Tekitatakse v~oret �kseeritud sammudega dx ja dy
Arvutigraafika: advanced modelleerimine – p.33/37
Taseme jooned
On vaja kajastada taseme joone, kus f(x, y) = c.V~orrandit lahendada ei viitsi. Marssivate ruutudemeetod:määratakse iga tipu kohta, kas f(xi, yi) on c'stsuurem v~oi väiksemselle järgi igasse ruutu kus on tipude vahelerinevus paigaldatakse joont, täpsed alg- jal~opppunktid interpoleeritakse f väärtuste järgija ongi aproksimeeritud taseme joon valmis
Arvutigraafika: advanced modelleerimine – p.34/37
Skallarväljadf(x, y, z)kajastamismeetodid:Taseme pinnadMarssivad kuubidTihedus integreeritud mööda kiirt(r, g, b, α), kiir kogub värvi kuni α = 1 v~oiväli saab otsaMaterjalide determineerimine
Arvutigraafika: advanced modelleerimine – p.35/37
Materjalide determineerimine
väljade väärtuste järgi määratakse mis materjaligaon tegemistigal materjalil määratud omadused (värv,läbipaistvus jne)näideks: tomograa�a tulemuste kajastamine
Arvutigraafika: advanced modelleerimine – p.36/37
Kokkuv~ote
Fraktaalid, grammatilised, osakesed, füüsilised, spet-siaalsed, s ivis.Arvutigraafika: advanced modelleerimine – p.37/37
Küsimused?