45
Mark Fishel ([email protected]) 28. november 2005

28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Embed Size (px)

Citation preview

Page 1: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Advan ed modelleerimineMark Fishel ([email protected])

28. november 2005

Page 2: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Täna

FraktaalidGrammatilised mudelidModelleerimine osakestegaFüüsilised mudelidSpetsiaalsed mudelidAndmete visualiseerimine

Arvutigraafika: advanced modelleerimine – p.1/37

Page 3: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

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

Page 4: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Protseduurne modelleerimine

Motivatsioon:Lihtsam kirjeldadaDetailsuse tase kontrollitavMudelid on paindlikumadDeformatsioonidObjektidevahelised s~oltuvused

Arvutigraafika: advanced modelleerimine – p.3/37

Page 5: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Fraktaalid

Page 6: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

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

Page 7: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Joone jagamine

Arvutigraafika: advanced modelleerimine – p.5/37

Page 8: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Joone jagamine

Arvutigraafika: advanced modelleerimine – p.6/37

Page 9: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Joone jagamine

Arvutigraafika: advanced modelleerimine – p.7/37

Page 10: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Joone jagamine

Arvutigraafika: advanced modelleerimine – p.8/37

Page 11: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Joone jagamine

Arvutigraafika: advanced modelleerimine – p.9/37

Page 12: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

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

Page 13: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Kolmnurga jagamine

Rakendame joone jagamise tehnikat igalekolmnurga servaleSaadud keskpunktid ühendame omavahelSedasi saame 4 väiksemat kolmnurkaJätkame rekursiivselt

Arvutigraafika: advanced modelleerimine – p.11/37

Page 14: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Kolmnurga jagamine

Arvutigraafika: advanced modelleerimine – p.12/37

Page 15: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Kolmnurga jagamine

Arvutigraafika: advanced modelleerimine – p.13/37

Page 16: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Kolmnurga jagamine

Arvutigraafika: advanced modelleerimine – p.14/37

Page 17: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Kolmnurga jagamine

Arvutigraafika: advanced modelleerimine – p.15/37

Page 18: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Kolmnurga jagamine

Arvutigraafika: advanced modelleerimine – p.16/37

Page 19: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Maastiku genereerimine

Alustame mingi kujuga, kirjeldatud kolmnurkadegaSooritame mitu jagamise iteratsiooni

LODKuju salvestamiseks piisab pseudo-juhuslikenumbrite generaatori �semne� salvestamisest

Arvutigraafika: advanced modelleerimine – p.17/37

Page 20: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

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

Page 21: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

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

Page 22: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

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

Page 23: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Grammatilised mudelid

Page 24: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

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

Page 25: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Näide

Arvutigraafika: advanced modelleerimine – p.22/37

Page 26: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Kasutatav lisainfo

Vanus (iteratsioonide arv)Asukoht mudelisjneKasutades lisainfot v~oib simuleerida nt. mudeli muut-mist aja jooksul � vananemist.

Arvutigraafika: advanced modelleerimine – p.23/37

Page 27: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

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

Page 28: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Modelleerimine osakestega

Page 29: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

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

Page 30: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

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

Page 31: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Osakesed

NäitedRenderdamineOsakeste m~oju ülejäänud keskkonnale

Arvutigraafika: advanced modelleerimine – p.27/37

Page 32: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Füüsilised mudelid

Page 33: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

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

Page 34: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Füüsilised mudelid

Painduvuse/elastsuse j~oudT~ombej~oudTulemuseks:Pehmed objektid (nt. tekkid)KehadArvutigraafika: advanced modelleerimine – p.29/37

Page 35: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

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

Page 36: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Spetsiaalsed mudelid

Page 37: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Pilved

Ellipsoid genereeritud 3D tekstuuriga (rgb + α)tekstuur - erinevate sagedustega siinustekombinatsioonArvutigraafika: advanced modelleerimine – p.31/37

Page 38: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

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

Page 39: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Andmete visualiseerimine

Page 40: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

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

Page 41: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

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

Page 42: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

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

Page 43: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

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

Page 44: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Kokkuv~ote

Fraktaalid, grammatilised, osakesed, füüsilised, spet-siaalsed, s ivis.Arvutigraafika: advanced modelleerimine – p.37/37

Page 45: 28. november 2005 - courses.cs.ut.ee fileSedasi saame 4 v äiksemat k olmn urk a Jätk ame rekursiivselt Arvutigraafika: advanced modelleerimine – p.11/37. K olmn urga jagamine

Küsimused?