270 likes | 442 Views
Tik-111.450 Animaatio ja mallintaminen. 8.luento: flexible materials, shape deformations. Sisältö. Tavoite: malli elävämpi jos ei ole jäykkä kiinteä kappale Sovelluksia: pehmeät materiaalit, sulava liike, muodonmuutokset Deformaatio = epälineaarinen transformaatio
E N D
Tik-111.450 Animaatio ja mallintaminen 8.luento: flexible materials, shape deformations Animaatio 2004 - luento 8
Sisältö • Tavoite: malli elävämpi jos ei ole jäykkä kiinteä kappale • Sovelluksia: pehmeät materiaalit, sulava liike, muodonmuutokset • Deformaatio = epälineaarinen transformaatio • 2D-muokkaus, “morfaus” (image morphing) • Geometriset menetelmät • metapallot • hierarkkiset splinit • parametrinen tilavuusmuunnos - FFD • Fysikaaliset • joustavat materiaalit (jousi-massa-mallit) • kankaat ja vaatteet, hiukset? • epäelastiset muutokset, esim. murtuma Animaatio 2004 - luento 8
Motivaatio • Perinteisessä animaatiossa ”elävällä” muodolla on suuri ilmaisullinen vaikutus • Myöskään tietokoneella animoidun objektin ei tarvitse olla jäykkä kappale! • Elastisia ja epäelastisia muutoksia Animaatio 2004 - luento 8
Geometrisen esitysmuodon vaikutus • Perinteisesti erotettu mallintaminen ja grafiikka (renderointi) toisistaan • Muotoaan muuttavat objektit voidaan ymmärtää: • animoituna proseduraalisena mallintamisena; uuden mallin luomisena joka kuvaa kohti • jälkikäsittelynä; kiinteän mallin joka kuvassa eri tavalla tehtävänä muokkauksena • Huom! käytännössä usein liikutaan välimaastossa • Nykyisin myös 2-ulotteisten rasterikuvien deformaatiot (image morphing) paljon käytettyjä Animaatio 2004 - luento 8
‘Morfaus’(image morphing) • Muodon metamorfoosi 2D-kuvien välillä • määrätään kuville vastinpisteet ääriviivoista • interpoloidaan vastinpisteitä (vrt. keyframing) • nämä ohjauspisteinä määräävät uuden interpoloidun muodon • Avainpisteiden automaattinen määritys vaikeaa • paljon käsityötä! • Kuvan tekstuurin venyttäminen (warping) • local texture mapping • määritellään kuvasta tekstuuritasossa tasaväliset pisteeet • pienellä nelikulmioalueella bilineaarinen kuvaus • toisiaan vastaavat avainpisteet tekstuurista ja kuvasta • määrittävät epälineaarisen kuvauksen koko kuva-alalla • antialiasointi !!! • Animaatio • interpoloidaan avainkuvien välillä sekä muoto että siihen sijoitettava tekstuuri Animaatio 2004 - luento 8
Piirremorfaus • Etsitään kuvista vastinviivoja (PQ -> P’Q’) • Tekstuurin sijoittelulasketaan etäisyyksinäpiirreviivoista • u suhteellisena viivanpituuteen • v etäisyys viivastasellaisenaan Animaatio 2004 - luento 8
Useamman viivan vaikutus • painotetaan eri viivojen vaikutusta • X’ = w1 X1’ + w2 X2’ • viivan pituus PQ lisää, etäisyys v vähentää w:tä Animaatio 2004 - luento 8
Esimerkki Animaatio 2004 - luento 8
3D-morfaus • Animoidaan nurkkapisteitä (vertex),mutta säilytetään mallin topologia. Helppo toteuttaa, mutta… • käytännössä deformaation määrä rajallinen, koska monikulmioiden tulisi säilyä tasomaisina • deformaatio voi tuoda jyrkkiä kulmia paikkoihin, jotka on tarkoitettu approksimoimaan sileää pintaa • 3D-aliasoituminen: mallin pisteet näytteitä kuvitellusta pehmeämuotoisesta objektista. Liian pieni näytetiheys hävittää geometrista informaatiota Animaatio 2004 - luento 8
Metapallot, "blobby objects" • Pehmentävä jälkikäsittelytekniikka • Potentiaalikenttä mallin joka osan ympärille • Renderoidaan kentän tasa-arvopintoja (säteenseurannalla) • Sovelluksia: • molekyylimallit (Blinn) • pisaroista (partikkelisysteemi) koostuva vesimassa • taiteellinen vaikutelma (Kawaguchi, Latham) kahden pisteen muodostama “blob” Animaatio 2004 - luento 8
Parametripintamallit (splinit) • Monin tavoin sama periaate kuin monitahokkailla: animoidaan ohjauspisteitä, mutta pintapalojen suorakulmainen topologia säilyy • Voidaan ajatella myös pehmentävänä jälkikäsittelynä: splinifunktiot tasoittavat pinnan • Ohjauspisteiden määrä rajoittaa deformaatiota: paikalliset muutokset ohjauspisteiden välillä mahdottomia • Bezier-pintapalojen väliset jatkuvuusehdot vaikeita • B-splinit monessa suhteessa parempia (ei jatkuvuus-ongelmia, ohjauspisteet vaikuttavat vain paikallisesti), mutta kiinteä topologia rajoittaa Animaatio 2004 - luento 8
Hierarkkiset B-splinit • Tavoite: tihennetään ohjauspisteverkkoa paikallisesti tarkemman kontrollin aikaansaamiseksi, "knot insertion" • ohjauspisteiden lisääminen entisten joukkoon geometrista muotoa muuttamatta matemaattisesti mahdollista ns. Oslo-algoritmilla • ongelmana suorakulmainen topologia: yhteen kohtaan tehty tihennys pakottaa tihentämään koko ohjauspisteverkkoa vastaavilla u- ja v-parametrien arvoilla Animaatio 2004 - luento 8
Hierarkkiset B-splinit (jatkuu) • kerrostettu muodon tarkentaminen • määritellään erikseen karkea muoto ja siihen tehtävät inkrementaaliset lisäykset (siirtymät) • kuten "offset-mapping" teksturoinnissa: omassa koordinaatistossaan määritelty paikallinen korkeusvaihtelu lisätään pintaan sen normaalin suuntaisena siirtymänä • uusia entistä pienempiä paikallisia tarkennuksia voidaan tehdä edelleen ja kasata hierarkisesti • offset-periaatteen ansiosta hienommat tarkennukset siirtyvät karkeammalla tasolla tehtyjen muutosten mukana Kuvia: Watt&Watt tai http://www.cs.ubc.ca/nest/imager/contributions/forsey/dragon/hbsplines.html Animaatio 2004 - luento 8
Hierarkkiset B-splinit (jatkuu) • Minimipinta • B-splineillä tasaisesti jatkuva paikallinen lisäys määriteltävissä "minimipintana", jonka reunoilla sekä pinnan korkeus että sen derivaatat nollia • kuutiollisilla (3°) B-splineillä minimipinta on 7 X 7 ohjauspisteen määrittämä pintalappu • laajemmat paikalliset muutokset voivat muodostaa myös isompia verkkoja (päällekkäiset minimipinnat yhtyvät) • tarkennettu pintapala asetetaan siten, että reunat täsmäävät karkeamman tason pintalappurajoihin Animaatio 2004 - luento 8
Muotoa muuttavat transformaatiot Kuvia: Watt&Watt tai Barr’in artikkeli • Lineaarimuunnokset • tavanomaiset geometriset transformaatiot ovat lineaarimuunoksia (rotaatio, skaalaus, translaatio) • lineaarimuunnokset säilyttävät suorat suorina, jolloin monitahokkaan kulmapisteiden muuntaminen riittää • Epälineaariset objektimuunnokset (Barr), yleistys: perusmuunnosten parametrit (kiertokulmat, skaalaustekijät, siirtymät) paikan funktioina • (x, y, z) -> (sx,sy,sz, rx,ry,rz, tx,ty,tz) -> (X, Y, Z) • käyttökelpoisia muunnoksia: • tapering (X, Y, Z) = (rx, ry, z); r = f(z) • twisting (X, Y, Z) = (X(Q), Y(Q), z); Q = f(z) • bending (X, Y, Z) = (x, Y(P), Z(P)); P = f(y, Q) Animaatio 2004 - luento 8
Parametrikappaleet • Parametrikappaleet (3D-splinit) • yleistys parametrikäyristä ja -pinnoista: "hyperpatch” • (xyz) = Q(u,v,w) = SiSjSk pijk Bi(u)Bj(v)Bk(w) Animaatio 2004 - luento 8
Free-Form Deformation (FFD) • Määritellään parametrikappaleen (hyperpatch) avulla mielivaltaisella muulla tavalla määritellylle esineelle tehtävä deformaatio [Sederberg ] • Alkuperäinen objekti voi olla esim. monitahokas tai parametripinta • Muunnettava 3D-avaruuden osa määrätään FFD-kappaleen avulla, ja siihen kohdistuva muunnos FFD-kappaleen ohjauspisteitä siirtämällä. Muunnoksen vaiheet: • määritä alkuperäisen kappaleen pisteiden (vertex, ohjauspiste) paikat muuntamattoman FFD-kappaleen sisäisessä koordinaatistossa (u, v, w) • muunna kappaleen pisteet maailmankoordinaatistoon FFD-kappaleen muunnetuilla ohjauspisteillä painotetuilla kantafunktioilla • Ongelmia: • FFD:llä paljon ohjauspisteitä (3° hyperkappaleella 64), siksi työlästä määritellä muunnoksia • deformaatio on globaali FFD:n sisällä, hienojakoisempi muunnos ohjauspisteiden välillä ei onnistu Animaatio 2004 - luento 8
FFD:n animointi • Ohjauspisteiden käsittely suoraan on työlästä niiden suuren määrän takia • Käyttökelpoinen yhdistelmä saadaan soveltamalla epälineaarisia muunnoksia ensin FFD-soluihin ja näitä sitten varsinaisiin kappaleisiin • Muunnosten aika- ja paikkariippuvuus kätevintä ilmaista vaikutuskäyrien (factor curve) avulla • Useista eri osista koostuva muunnos saadaan kertomalla painotetut muunnokset keskenään Kuvia: Sederberg, Coquillart Animaatio 2004 - luento 8
FFD-esimerkki Animaatio 2004 - luento 8
FFD:n laajennus (EFFD, Coquillart) • Muodostetaan FFD-soluista yhteenliitettyjä kokonaisuuksia (vrt. Bezier-käyrien ja -pintojen liittäminen) • Käyttökelpoisista EFFD-kappaleista voidaan tehdä työkalukirjasto, jota voidaan soveltaa minkä hyvänsä mallin muokkaamiseen • EFFD-kappaletta voidaan animoida paitsi muuttamalla sen muotoa (ohjauspisteitä siirtämällä), myös siirtämällä sen vaikutusaluetta alkuperäisen mallin suhteen • Sovellusesimerkki: lihasten paisuminen jäseniä taivutettaessa Animaatio 2004 - luento 8
Fysikaalinen muodonmuutos • Fysikaaliset • joustavat materiaalit (jousi-massa-mallit) • kankaat ja vaatteet, hiukset? • epäelastiset muutokset, esim. murtuma …käsitelllään myöhemmällä luennolla Animaatio 2004 - luento 8
Fysikaalista vai geometrista? • Geometriset menetelmät sopivia jäykille kappaleille, mutta ne ovat ”elottomia”. • Deformoituvat mallit voivat perustua fysiikkaan ja olla aktiivisia: luonnollinen vaste niihin asettuihin voimiin, rajoituksiin ja törmäyksiin. • Fysikaaliset periaatteet kuvataan useimmiten osittaisdifferentiaaliyhtälöinä. • Luonnollisen animaation tekemisestä tulee simulaatiota. Animaatio 2004 - luento 8
Vertailu • Geometria + Fysiikka Vain geometria • Aktiivinen Passiivinen • DynamiikkaKinematiikka • Animaatio simuloimalla Ennaltamäärätty Animaatio 2004 - luento 8
Elastiset muutokset • Elastinen kappale palaa alkuperäiseen muotoonsa, kun kaikki siihen vaikuttavat voimat lakkaavat vaikuttamasta. • Mutta, ideaalinen elastinen kappale jää ikuiseen värähtelyyn ilman vaimentavia voimia. • Luonnossa on aina joku vaimentava voima, esim. ilmanvastus. • Jousiyhtälö f = k x, missä • x on poikkeama • f on jousivoima • k on jousivakio, joka kuvaa jousen jäykkyyttä Animaatio 2004 - luento 8
Epäelastiset muutokset • Epäelastisessa muutoksessa jousiyhtälö ei päde. • Kolme eri tyyppiä epäelastisuutta: • Viskoottinen muutos • Plastisuus • Murtuma Animaatio 2004 - luento 8
Artikkeleita • Sederberg: A physically based approach to 2–D shape blending. Siggraph’92 • http://portal.acm.org/citation.cfm?id=134001 • Beier, Neely: Feature-based image metamorphosis. Siggraph’92 • http://portal.acm.org/citation.cfm?id=133994.134003 • Barr: Global and local deformations of solid primitives. Siggraph’84 • http://portal.acm.org/citation.cfm?id=808573 • Sederberg, Parry: Free-form deformation of solid geometric models. Siggraph’86 • http://portal.acm.org/citation.cfm?id=15886.15903 • Coquillart: Extended free-form deformation: a sculpturing tool for 3D geometric modeling. Siggraph’90 • http://portal.acm.org/citation.cfm?id=97900 Animaatio 2004 - luento 8
Videot • Klassikoita (Comp.Anim.Classics) • Liquid Selves • Gas Planet • Image morphing • PDI Morph Reel, SG’91 (SVR #71) • Black or White - PDI Music video effects (SVR #82) • Digitaline, SG’91 (SVR #71) • Dance in the pants, SG’92 (SVR #82) • Physical deformations • Balloon Guy (Comp.Anim. Classics) Animaatio 2004 - luento 8