28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame...

Preview:

Citation preview

Advan ed modelleerimineMark Fishel (fishel@ut.ee)

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?

Recommended