T-111.450 Tietokoneanimaatio ja mallintaminen. Lauri Savioja Teknillinen korkeakoulu Tietoliikenneohjelmistojen ja multimedian laboratorio 02/02



Samankaltaiset tiedostot
Tik Tietokoneanimaatio

3D animaatio: liikekäyrät ja interpolointi. Tommi Tykkälä

Luento 6: Geometrinen mallinnus

Objektien deformaatiot

Numeeriset menetelmät TIEA381. Luento 7. Kirsi Valjus. Jyväskylän yliopisto. Luento 7 () Numeeriset menetelmät / 43

4. Käyrän lokaaleja ominaisuuksia

Kurssi syksyllä

Tietokonegrafiikan kertausta eli mitä jokaisen animaattorin tulisi tietää tekniikasta

MS-A0202 Differentiaali- ja integraalilaskenta 2 (SCI) Luento 1: Parametrisoidut käyrät ja kaarenpituus

4. Esittäminen ja visualisointi (renderöinti)

Numeeriset menetelmät TIEA381. Luento 6. Kirsi Valjus. Jyväskylän yliopisto. Luento 6 () Numeeriset menetelmät / 33

Luento 2: Viivan toteutus

MS-A0205/MS-A0206 Differentiaali- ja integraalilaskenta 2 Luento 1: Parametrisoidut käyrät ja kaarenpituus

T Tietotekniikan peruskurssi: Tietokonegrafiikka. Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

ELEC-A3110 Mekaniikka (5 op)

Tassu Takala Kurssi syksyllä 2008

Lisätehtäviä. Rationaalifunktio. x 2. a b ab. 6u x x x. kx x

Liikkeenhallinta tietokoneanimaatiossa. Simo Fält

ELEC-A3110 Mekaniikka (5 op)

Differentiaalilaskenta 1.

Numeeriset menetelmät

b) Määritä/Laske (ei tarvitse tehdä määritelmän kautta). (2p)

Luento 7: Lokaalit valaistusmallit

JOHDATUS TEKOÄLYYN TEEMU ROOS

T Tietokoneanimaatio

Tik Tietokoneanimaatio

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

MS-A0102 Differentiaali- ja integraalilaskenta 1

MAA7 7.1 Koe Jussi Tyni Valitse kuusi tehtävää! Tee vastauspaperiin pisteytysruudukko! Kaikkiin tehtäviin välivaiheet näkyviin!

Tik Tietokoneanimaatio

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

JOHDATUS TEKOÄLYYN TEEMU ROOS

l 1 2l + 1, c) 100 l=0 AB 3AC ja AB AC sekä vektoreiden AB ja

VASTAA YHTEENSÄ KUUTEEN TEHTÄVÄÄN

Matematiikan tukikurssi

BM20A0900, Matematiikka KoTiB3

Luku 7: Animaatio. Eksplisiittiset menetelmät Implisiittiset menetelmät Suora ja käänteinen kinematiikka Motion capture Elokuvamaisuus

Oletetaan, että funktio f on määritelty jollakin välillä ]x 0 δ, x 0 + δ[. Sen derivaatta pisteessä x 0 on

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 4: Derivaatta

MS-A0305 Differentiaali- ja integraalilaskenta 3 Luento 4: Taso- ja avaruuskäyrät

Luento 3: 3D katselu. Sisältö

Juuri 6 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty

Tik Tietokoneanimaatio

läheisyydessä. Piirrä funktio f ja nämä approksimaatiot samaan kuvaan. Näyttääkö järkeenkäyvältä?

11 MATEMAATTINEN ANALYYSI

Tassu Takala pääaineinfo

Rationaalinen muodon säilyttävä spline-interpolointi

ELEC-A3110 Mekaniikka (5 op)

MATEMATIIKAN PERUSKURSSI I Harjoitustehtäviä syksy Millä reaaliluvun x arvoilla. 3 4 x 2,

on hidastuvaa. Hidastuvuus eli negatiivinen kiihtyvyys saadaan laskevan suoran kulmakertoimesta, joka on siis

T Studio 4. luento 3: laskennallista geometriaa virikkeitä harjoituksiin: luovuudesta. matemaattista/abstraktia taidetta tietokonetaidetta

Luento 4: Liikkeen kuvausta, differentiaaliyhtälöt

Yhden muuttujan funktion minimointi

MS-A0207 Differentiaali- ja integraalilaskenta 2 (Chem) Yhteenveto, osa I

l 1 2l + 1, c) 100 l=0

Preliminäärikoe Tehtävät A-osio Pitkä matematiikka kevät 2016 Sivu 1 / 4

Matematiikka B1 - avoin yliopisto

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

MS-A0202 Differentiaali- ja integraalilaskenta 2 (SCI) Luento 4: Ketjusäännöt ja lineaarinen approksimointi

BM20A1501 Numeeriset menetelmät 1 - AIMO

10.2. Säteenjäljitys ja radiositeettialgoritmi. Säteenjäljitys

3 x 1 < 2. 2 b) b) x 3 < x 2x. f (x) 0 c) f (x) x + 4 x Etsi käänteisfunktio (määrittely- ja arvojoukkoineen) kun.

Johdatus tekoälyn taustalla olevaan matematiikkaan

MATP153 Approbatur 1B Harjoitus 5 Maanantai

MAA7 7.3 Koe Jussi Tyni Valitse kuusi tehtävää! Tee vastauspaperiin pisteytysruudukko! Kaikkiin tehtäviin välivaiheet näkyviin!

ELEMENTTIMENETELMÄN PERUSTEET SESSIO 01: Johdanto. Elementtiverkko. Solmusuureet.

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat.

Matematiikan tukikurssi

Matriisit ja optimointi kauppatieteilijöille

Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 2017 Insinöörivalinnan matematiikan koe , Ratkaisut (Sarja A)

Fysiikka ei kerro lopullisia totuuksia. Jokin uusi havainto voi vaatia muuttamaan teorioita.

4. Funktion arvioimisesta eli approksimoimisesta

Integrointialgoritmit molekyylidynamiikassa

Kuva 1: Funktion f tasa-arvokäyriä. Ratkaisu. Suurin kasvunopeus on gradientin suuntaan. 6x 0,2

Nopeus, kiihtyvyys ja liikemäärä Vektorit

Visualisoinnin perusteet

Numeeriset menetelmät

JERE KUUSELA SPLINIKÄYRÄ MALLINNUSOHJELMISTOISSA. Diplomityö

5 Differentiaalilaskentaa

5. Grafiikkaliukuhihna: (1) geometriset operaatiot

Matematiikan tukikurssi

Matematiikan tukikurssi

1. STEREOKUVAPARIN OTTAMINEN ANAGLYFIKUVIA VARTEN. Hyvien stereokuvien ottaminen edellyttää kahden perusasian ymmärtämistä.

Luihin perustuva 3D-animointi tietokonepeleissä

min x x2 2 x 1 + x 2 1 = 0 (1) 2x1 1, h = f = 4x 2 2x1 + v = 0 4x 2 + v = 0 min x x3 2 x1 = ± v/3 = ±a x 2 = ± v/3 = ±a, a > 0 0 6x 2

Injektio (1/3) Funktio f on injektio, joss. f (x 1 ) = f (x 2 ) x 1 = x 2 x 1, x 2 D(f )

Derivaatta graafisesti, h- ja keskeisdifferenssimuodot GeoGebralla Valokuva-albumi

Yleisiä integroimissääntöjä

1 2 x2 + 1 dx. (2p) x + 2dx. Kummankin integraalin laskeminen oikein (vastaukset 12 ja 20 ) antaa erikseen (2p) (integraalifunktiot

d Todista: dx xn = nx n 1 kaikilla x R, n N Derivaatta Derivaatta ja differentiaali

Kertaus. x x x. K1. a) b) x 5 x 6 = x 5 6 = x 1 = 1 x, x 0. K2. a) a a a a, a > 0

MS-A0202 Differentiaali- ja integraalilaskenta 2 (SCI) Luento 2: Usean muuttujan funktiot

1. a) b) Nollakohdat: 20 = c) a b a b = + ( a b)( a + b) Derivaatan kuvaajan numero. 1 f x x x g x x x x. 3. a)

Mapu 1. Laskuharjoitus 3, Tehtävä 1

9. Vektorit. 9.1 Skalaarit ja vektorit. 9.2 Vektorit tasossa

Tik Tietokoneanimaatio

Polynomit, interpolaatio ja funktion approksimointi

Vektorit. Kertausta Seppo Lustig (Lähde: avoinoppikirja.fi)

Transkriptio:

T-111.450 Tietokoneanimaatio ja mallintaminen Lauri Savioja Teknillinen korkeakoulu Tietoliikenneohjelmistojen ja multimedian laboratorio 02/02 Animaatio / 1 2D Avainkuvatekniikka Sisältö Kerronnallisia asioita, Pixar-pätkiä 3D Avainkuvatekniikka Liikkeen määrittelytapoja Splinit Animaatio / 2 1

2D avainkuvat 2D <> 3D 2D kuvat ovat yleensä projisioita 3D-maailmasta Projisiossa katoaa informaatiota Kuinka toteutetaan rotaatio? Kuinka toteutetaan piiloviivojen poisto? Välikuvien laskenta eri asia kuin kuvien morphaus Animaatio / 3 2D avainkuvat (jatkuu) Ratkaisuvaihtoehtoja: 1. 3D hahmojen tunnistus kuvasta vaikeaa 2. Kuvien korjailu jälkeenpäin editoimalla työlästä 3. Useiden kuvatasojen käyttö ei ratkaise rotaatiota 4. Tikku-ukkojen käyttö määrittelyssä rajoittunutta 5. Tikku-ukot + reunaviivat vähemmän rajoittunutta 6. Rajoitetaan animaatiota hyvin rajoittavaa Tassun esimerkkikuva Animaatio / 4 2

Kerronnallisia asioita Pixar: Wally B. & Luxo Jr. Ohjaaja John Lasseterin SIGGRAPH artikkeli Pixar: Wally B. & Luxo Jr. Animaatio / 5 3D-avainkuvatekniikka Animaatio / 6 3

Parametrinen määrittely 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 / 7 Parametrinen määrittely (jatkuu) 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 splinifunktioilla Animaatio / 8 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 / 9 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 / 10 5

Realistinen interpolointi Jatkuva liike liikkeen jatkuvuus nopeuden jatkuvuus (1. derivaatta) kiihtyvyyden jatkuvuus (2. derivaatta) Paikallinen vaikutus Kinetiikka liikkeen aloitukset ja lopetukset, kiihdytykset, jarrutukset Jatkuvuus muutoksissa - vaihdokset interpoloinnista toiseen Animaatio / 11 Splinikäyrät Interpolointi vs. approksimointi Jatkuvuus 0. aste jatkuva käyrä 1. aste tangetit samansuuntaisia 2. aste kaarevuus sama mallinnuksessa voidaan tarvita 2. asteen jatkuvuutta, mutta yleensä animaatiossa 1. aste riittää Paikallinen vs. globaali kontrolli Animaatio / 12 6

Splinikäyrät (jatkuu) Kompleksisuus yleensä 3. asteen polynomit tarjoavat riittävästi vapausasteita (4 kpl): kuljetaan alkupisteen kautta kuljetaan loppupisteen kautta tangentti alussa tangentti lopussa Animaatio / 13 Bezier käyrät & B-splinit Approksimoivia Globaaleja (voidaan tehdä paikalliseksi esim. kuutiollinen Bezier) B-splinit paranneltu Bezier käyristä Beta-splinit laajentavat B-splinejä korkeamman asteen jatkuvuusehdoilla Käytetään myös pintojen tekoon, NURBS Animaatio / 14 7

Hermite splinit Hermiten kantafunktiot (ranskalainen matemaatikko Charles Hermite) Interpoloiva Lokaali ohjaus 2. asteen jatkuvuus voidaan saavuttaa, jos luovutaan lokaaliudesta Tarvitaan tangenttivektorit kullekin pisteelle Animaatio / 15 Kardinaalisplinit Perustuu Hermiten kantafunktioihin Lokaali ohjaus Tangenttivektorit lasketaan viereisten ohjauspisteiden avulla Catmull - Rom splini tietty parametrivalinta kardinaalisplineillä Splini-appletti Animaatio / 16 8

Kochanek & Bartels TCB splini Kardinaalisplinien laajennus Tension, Continuity, Bias SIGGRAPH artikkeli Ulkopuoliset rajoitteet, esim. Luxo Jr. Animaatio / 17 Spliniyhteenveto Splinit Approksimoivat Interpoloivat Bezier B-splinit Beta-splinit Luonnolliset splinit Hermiten splinit Kardinaalisplinit Catmull-Rom TCB Animaatio / 18 9

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 / 19 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 / 20 10