1 / 26

Tik-111.450 Animaatio ja mallintaminen

Tik-111.450 Animaatio ja mallintaminen. 2. Avainkuvat ja interpolointi. http://www.tonfisk-design.fi/Suomi/runebergin_torttu.html. Sisältö. avainkuvatekniikka yleisesti lineaarinen interpolaatio esimerkkinä, ongelmana derivaatan epäjatkuvuus

Download Presentation

Tik-111.450 Animaatio ja mallintaminen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tik-111.450 Animaatio ja mallintaminen 2. Avainkuvat ja interpolointi Animaatio 2004 - luento 2

  2. http://www.tonfisk-design.fi/Suomi/runebergin_torttu.html Animaatio 2004 - luento 2

  3. Sisältö • avainkuvatekniikka yleisesti • lineaarinen interpolaatio esimerkkinä, ongelmana derivaatan epäjatkuvuus • interpolaatio yleisesti: parametrisillä funktioilla painotettu summa ohjeuspisteistä • esimerkkeinä Bezier ja B-splini: eivät kulje ohjauspisteiden kautta • interpoloiva splini: käyriä välipisteiden kautta • jatkuvuusehdot: C0 - C1 - C2 - C • Hermiten käyrä: ekvivalenssi Bezierin kanssa • kardinaalisplini: tangentiaalinen jatkuvuus • Catmull & Rom: automaattinen tangentin asettaminen • Kochanek & Bartels: tension, continuity, bias • parametrinen vs. geometrinen jatkuvuus • parametrointi käyränpituuden suhteen, käyrän pituuden laskenta • liikkeen ajoituksen määrittely erillisellä funktiolla • pisteiden laskeminen käyrällä • suora sijoitus summakaavaan; optimointi: monta käyrää peräkkäin vs. rinnakkain • Inkrementaalinen laskenta differenssimenetelmällä • de Casteljaun menetelmä • käyrän uudellen parametrointi ja binäärinen ositus Animaatio 2004 - luento 2

  4. Liikkeen määrittely • Käsin asettelemalla (perinteinen tapa) • Interpoloimalla avainasentoja (keyframing) • Erikoistuneilla ohjelmilla (procedural) • Rakennekuvauksilla (representational) • Satunnaisprosesseilla (stochastic) • Käyttäytymissäännöillä (behavioral) Animaatio 2004 - luento 2

  5. Liikkeen määrittely (jatkuu) • Vaikka proseduraalista animaatiota varten on kehitetty skriptikieliä, on avainkuvatekniikka suosituin: • välikuvien laskenta vähentää käsityötä • helppo käyttöliittymä (ei ohjelmointia) • voi ohjatusti poiketa säännönmukaisuudesta (juuri halutunlaisen liikkeen ohjelmointi on vaikeaa) • sekä liikkeen että muodonmuutoksen määrittely samalla kertaa • 3D animaatiossa 4 ulottuvuutta (paikka + aika) Animaatio 2004 - luento 2

  6. Esimerkki: pomppiva pallo • Parabolinen lentorata, muuttuva nopeus • Äkillinen suunnanvaihto törmäyksessä • Litistyminen ja venyminen “squash & stretch” Animaatio 2004 - luento 2

  7. Parametrinen määrittely (1) • Lähtökohta • jokainen animoitava ominaisuus on numeerinen muuttuja • jokaisessa kuvassa samat toisiaan vastaavat parametrit • käyttäjälle parametrit esitetään mieluiten graafisina (pisteen sijainti, viivan suunta, väri, jne.) • Mitä hyvänsä voidaan parametroida ja siten animoida • olion paikka/nopeus, asento, koko ja muoto • osien suhde kokonaisuuteen (esim. silmät päässä) • esineiden värit ja tekstuurit (mm. heijastusominaisuudet) • valolähteet (paikka, väri, suunta, rajaus, jne.) • kameran paikka, asento, kuvakulma, syvyystarkkuus, jne. • ääni (rakenne, kaiku, Doppler-efekti, jne.) • proseduraalisen määrittelyn parametrit • hierarkkinen oliokeskeinen ajattelutapa Animaatio 2004 - luento 2

  8. Parametrinen määrittely (2) • Avainkuva (keyframe) määrittelee • yhdessä animoitavan parametrijoukon tietyssä animaation vaiheessa • koko kuva voi muodostua eri tahtiin animoitavista ”kerroksista” • täsmällinen aika/kuvanumero voidaan määritellä erikseen • Välivaiheet (inbetweens) muodostetaan interpoloimalla • lineaarisesti, jatkuvilla polynomeilla  ongelmia • paloittain splinifunktioilla  • Parametrikäyrät: (x,y,z) = ƒ(P1,P2, ... , t) Animaatio 2004 - luento 2

  9. Parametrikäyrät • Vektoriarvoinen yhden muuttujan funktio P(t) = (x,y,z)(t) = ƒ(t) = ( fx(t), fy(t), fz(t) ) • Yleensä rajatulla välillä, esim. t [ 0,1 ] • Derivaatta on myös vektori Dƒ(t) = dƒ(t)/dt = ( dfx/dt, dfy/dt, dfz/dt )(t) • Geometrinen tulkinta on eri asia • x = f(y) ei ole yleeensä funktio • dx/dyei aina edes määritelty MILLOIN ? • vektorin arvona voi olla muutakin kuin geometriaa, esim. värejä (R,G,B,A) tai nivelkulmia (a,b,g,q,f) Animaatio 2004 - luento 2

  10. Realistinen interpolointi • Jatkuva liike • sijainnin jatkuvuus (ei äkillisiä siirtymiä) • nopeuden jatkuvuus (1. derivaatta) • kiihtyvyyden jatkuvuus (2. derivaatta) • Kinetiikka • liikkeen aloitukset ja lopetukset, kiihdytykset, jarrutukset • Jatkuvuus muutoksissa • vaihdokset interpoloinnista toiseen • Avainkuvan paikallinen vaikutus • vaikutusta vain seuraavaan/edelliseen avainkuvaan asti Animaatio 2004 - luento 2

  11. Interpoloinnin aspekteja • Interpolointi vs. approksimointi • Jatkuvuus C0 (ei derivoituva) – jatkuva käyrä C1 (1. aste) – tangentit samansuuntaisia C2 (2. aste) – kaarevuus sama C (rajattomasti derivoituva) – määrittely ei paloittainen • Mallinnuksessa voidaan tarvita 2. asteen jatkuvuutta, yleensä animaatiossa 1. aste riittää • vastaesimerkki: ajoradan kaarteet MIKSI ? • Paikallinen vs. globaali kontrolli Animaatio 2004 - luento 2

  12. Geometrinen jatkuvuus ei jatkuva G- jatkuva G0 G1 tangentiaalisesti jatkuva G2 kaarevuusjatkuva Animaatio 2004 - luento 2

  13. Palapolynomit eli splinit • Matala-asteiset polynomit käteviä parametrifunktioina • laskennallisesti helppoja • derivoituvia (C ) • Yhden polynomin käyttö koko käyrällä hankalaa asteluku = vapausasteiden määrä • approksimoiva käyrä ei sivua ohjauspisteitä • interpoloiva käyrä (Lagrange) käyttäytyy villisti pisteiden välillä • http://www.ibiblio.org/e-notes/Splines/Lagrange.htm • Ratkaisu: splini eli “palapolynomi” • matala-asteisia polynomikäyriä solmuparien välillä“knot” = käyrällä sijaitseva ohjauspiste • käytännössä yleensä 3 polynomi riittävä • jatkuvuusehdot solmukohdissa järjestettävissä Animaatio 2004 - luento 2

  14. Yksi polynomifunktio koko käyrälle ohjauspisteiden määrä = asteluku+1 Globaali ohjaus jokainen ohjauspiste vaikuttaa koko käyrään Approksimoiva interpoloi päätepisteitä Palapolynomi asteluku valittavissa Lokaali ohjaus ohjauksen vaikutusalue asteluvun mukaan Approksimoiva voidaan määritellä päätepisteitä interpoloivaksi solmupisteet käyrällä mutta eivät ohjattavissa Bezier-käyrä ja B-splini Animaatio 2004 - luento 2

  15. Rationaalisplinit • Tavanomainen polynomikäyrä (x,y,z)(t) = SPi Bi(t) Pi = ohjauspiste • kullekin koordinaatille polynomi samasta kannasta B(t) • vektorifunktio on painotettu summa ohjauspisteistä • Rationaalikäyrä (x,y,z,w)(t) = SPi Bi(t) • kullekin koordinaatille rationaalifunktio x(t)/w(t) • ohjauspisteille “painokertoimet” w(t) vapauksiamm. tarkka esitys 2 käyrille (ellipsi/parabeli/hyperbeli) • NURBS: “non-uniform rational B-spline” • polynomikantana B-splinit rationaalimuodossa • solmupisteet eivät tasavälisesti parametriasteikolla Animaatio 2004 - luento 2

  16. Matematiikkaa • Bezier-käyrän määrittely ja laskenta, ekvivalenssi de Casteljaun kanssa: • http://www.ibiblio.org/e-notes/Splines/Bezier.htm Animaatio 2004 - luento 2

  17. Hermiten käyrä • Hermiten kantafunktiot (ranskalainen matemaatikko Charles Hermite) • Interpoloi ohjauspisteitä ja niissä määriteltyjä tangentteja • johdannainen Lagrangen polynomeista (interpoloi annettuja pisteitä polynomilla) • polynomin aste = 2 x ohj.pisteiden määrä - 1 • Käytännöllinen splinikäyrän yhden solmuvälin esittämisessä (2 pistettä  3 käyrä) • kussakin solmussa määriteltävä myös tangentti Animaatio 2004 - luento 2

  18. Hermite (jatkuu) • Interpolointi • yleensä 3. asteen polynomit tarjoavat riittävästi vapausasteita (4 kpl): • kuljetaan alkupisteen kautta • kuljetaan loppupisteen kautta • tangentti alussa • tangentti lopussa • Ekvivalenssi Bezier-käyrän kanssa • Bezier-käyrän päätepisteessä tangentti = 3 x (ohjauspisteiden erotusvektori) Animaatio 2004 - luento 2

  19. Kardinaalisplinit • Perustuu Hermiten käyriin • kullakin solmuvälillä polynomikäyrä • lokaali ohjaus: piste + tangentit • Tangentiaalinen jatkuvuus (C1) haluttaessa • tangenttivektorit voidaan automaattisesti laskea viereisten ohjauspisteiden avulla • Catmull-Rom-splini erikoistapauksena • tangentti = naapuripisteiden erotusvektori / 2 • päätepisteessä tangentti määriteltävä erikseen Animaatio 2004 - luento 2

  20. TCB splini • Lue artikkeli: Kochanek & Bartels http://portal.acm.org/citation.cfm?id=808575&dl=ACM&coll=GUIDE • Kardinaalisplinien laajennus • tangenttivektorit solmupisteissä määrittyvät painotettuna summana naapuripisteistä • kolme parametria (Tension, Continuity, Bias) kullekin ohjauspisteelle Animaatio 2004 - luento 2

  21. Luonnollinen splini • Ohjauspisteiden interpolointi fysikaalisesti • taipuisa viivotin pakotetaan menemään pisteiden kautta, tangentteja ei sidota • taivutusenergia minimoidaan • tuloksena 3 splinikäyrä • Globaali ohjaus  hankalahko laskea Animaatio 2004 - luento 2

  22. Spliniyhteenveto Splinit Approksimoivat Interpoloivat ”Luonnolliset” splinit Hermiten splinit Bezier B-splinit Beta-splinit Kardinaalisplinit Catmull-Rom TCB Animaatio 2004 - luento 2

  23. Vielä muuta? • Harjoitustehtävä • http://www.tml.hut.fi/Opinnot/T-111.450/2004/harjoitustyot/h1.phtml • Aiheeseen liittyvää muuta materiaalia • http://escience.anu.edu.au/lecture/cg/Spline/parametric.en.html Animaatio 2004 - luento 2

  24. Nopeuden hallinta • Edelliset keskittyivät paikan jatkuvuuteen • Aikaulottuvuus tekee interpoloinnin haasteellisemmaksi • Toteutetaan interpolointiparametrin muutosta säätelemällä ( s(t) ) • funktion oltava monotoninen • funktion oltava jatkuva • Kirjassa paljon tekstiä kaaren pituuden laskennasta Animaatio 2004 - luento 2

  25. Nopeuden hallinta (2) • Tyypillinen tavoite Ease-in/Ease-out (vain päätepisteille, ei väliohjauspisteille) • Voidaan toteuttaa sin-funktiolla • Laskennallisesti helpommalla päästään määrittelemällä kiihtyvyys • nopeus saadaan integroimalla kiihtyvyys • paikka saadaan integroimalla nopeus • Voidaan luonnollisesti tehdä myös splineillä, vaikkapa TCB:llä K&B:n T/C-esimerkin tapaan. Animaatio 2004 - luento 2

  26. Videot • Pixar shorts: • Adventures of André and Wally B. (1984) • Luxo Jr. (1986) • Red’s Dream (1987) • Tin Toy (1988) • Klassisen animaation periaatteita, joita näissä videoissa on käytetty (Lasseter 1987) • http://portal.acm.org/citation.cfm?id=37407&dl=ACM&coll=portal • http://www.siggraph.org/education/materials/HyperGraph/animation/character_animation/principles/prin_trad_anim.htm Animaatio 2004 - luento 2

More Related