Tik Tietokoneanimaatio

Samankaltaiset tiedostot
T Tietokoneanimaatio ja mallintaminen. Lauri Savioja Teknillinen korkeakoulu Tietoliikenneohjelmistojen ja multimedian laboratorio 02/02

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

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

Luento 6: Geometrinen mallinnus

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

4. Käyrän lokaaleja ominaisuuksia

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

Numeeriset menetelmät

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

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

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

Numeeriset menetelmät

MS-A0102 Differentiaali- ja integraalilaskenta 1

MS-A0305 Differentiaali- ja integraalilaskenta 3 Luento 5: Kaarenpituus ja skalaarikentän viivaintegraali

Vektoriarvoiset funktiot Vektoriarvoisen funktion jatkuvuus ja derivoituvuus

Tik Tietokoneanimaatio

Funktioiden approksimointi ja interpolointi

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

ELEC-A3110 Mekaniikka (5 op)

Objektien deformaatiot

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

Johdatus tekoälyn taustalla olevaan matematiikkaan

VASTAA YHTEENSÄ KUUTEEN TEHTÄVÄÄN

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

Grafiikka 205. Tässä luvussa käsitellään geometriaa ja graafisia kohteita. Mukana on pääosin alkeisoperaatioita.

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

Numeeriset menetelmät

Differentiaalilaskenta 1.

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

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

13. Taylorin polynomi; funktioiden approksimoinnista. Muodosta viidennen asteen Taylorin polynomi kehityskeskuksena origo funktiolle

Nopeus, kiihtyvyys ja liikemäärä Vektorit

jakokulmassa x 4 x 8 x 3x

ELEC-A3110 Mekaniikka (5 op)

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

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

Matematiikan tukikurssi

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

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 5: Taylor-polynomi ja sarja

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

Yleisiä integroimissääntöjä

Johdatus reaalifunktioihin P, 5op

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

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

Polkuintegraali yleistyy helposti paloitain C 1 -poluille. Määritelmä Olkoot γ : [a, b] R m paloittain C 1 -polku välin [a, b] jaon

MS-A0207 Differentiaali- ja integraalilaskenta 2 Luento 5: Gradientti ja suunnattu derivaatta. Vektoriarvoiset funktiot. Taylor-approksimaatio.

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

Yhden muuttujan funktion minimointi

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

a(t) = v (t) = 3 2 t a(t) = 3 2 t < t 1 2 < 69 t 1 2 < 46 t < 46 2 = 2116 a(t) = v (t) = 50

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

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

Luento 3: Käyräviivainen liike

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.

Raja arvokäsitteen laajennuksia

Luento 10: Työ, energia ja teho. Johdanto Työ ja kineettinen energia Teho

Luento 3: Käyräviivainen liike

3.4 Rationaalifunktion kulku ja asymptootit

Matematiikan tukikurssi

Johdatus tekoälyn taustalla olevaan matematiikkaan

Luento 5: Käyräviivainen liike. Käyräviivainen liike Heittoliike Ympyräliike Kulmamuuttujat θ, ω ja α Yhdistetty liike

Vastaus: 10. Kertausharjoituksia. 1. Lukujonot lim = lim n + = = n n. Vastaus: suppenee raja-arvona Vastaus:

ELEC-A3110 Mekaniikka (5 op)

Polynomit, interpolaatio ja funktion approksimointi

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

Harjoitus 7 -- Ratkaisut

Matematiikka B1 - avoin yliopisto

MATEMATIIKAN KOE, PITKÄ OPPIMÄÄRÄ HYVÄN VASTAUKSEN PIIRTEITÄ

Luento 5: Käyräviivainen liike

MS-A0104 Differentiaali- ja integraalilaskenta 1 (ELEC2) MS-A0106 Differentiaali- ja integraalilaskenta 1 (ENG2)

a) on lokaali käänteisfunktio, b) ei ole. Piirrä näiden pisteiden ympäristöön asetetun neliöruudukon kuva. VASTAUS:

Preliminäärikoe Tehtävät Pitkä matematiikka / 3

BM20A1501 Numeeriset menetelmät 1 - AIMO

PRELIMINÄÄRIKOE. Pitkä Matematiikka

Luento 5: Käyräviivainen liike

PRELIMINÄÄRIKOE PITKÄ MATEMATIIKKA

Matematiikan tukikurssi

Kompleksianalyysi viikko 3

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

k=0 saanto jokaisen kolmannen asteen polynomin. Tukipisteet on talloin valittu

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

Funktiot. funktioita f : A R. Yleensä funktion määrittelyjoukko M f = A on jokin väli, muttei aina.

k-kantaisen eksponenttifunktion ominaisuuksia

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

MATP153 Approbatur 1B Harjoitus 6 Maanantai

Derivaatta: funktion approksimaatio lineaarikuvauksella.

BM20A0900, Matematiikka KoTiB3

5 Differentiaalilaskentaa

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

763306A JOHDATUS SUHTEELLISUUSTEORIAAN 2 Ratkaisut 2 Kevät 2017

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

Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

Luento 2: Viivan toteutus

Rationaalinen muodon säilyttävä spline-interpolointi

KERTAUSHARJOITUKSIA. 1. Rationaalifunktio a) ( ) 2 ( ) Vastaus: a) = = 267. a) a b) a. Vastaus: a) a a a a 268.

MS-A0305 Differentiaali- ja integraalilaskenta 3 Luento 6: Vektorikentän viivaintegraali

DYNAMIIKKA II, LUENTO 5 (SYKSY 2015) Arttu Polojärvi

MATEMATIIKAN KOE PITKÄ OPPIMÄÄRÄ Merkitään f(x) =x 3 x. Laske a) f( 2), b) f (3) ja c) YLIOPPILASTUTKINTO- LAUTAKUNTA

1.1. YHDISTETTY FUNKTIO

Numeerinen integrointi

Transkriptio:

Tik-111.5450 Tietokoneanimaatio 2. Avainkuvat ja interpolointi 26.9.05 - Tassu Animaatio 2005 - luento 2 1

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: C 0 - C 1 - C 2 - C, parametrinen vs. geometrinen jatkuvuus Hermiten käyrä: ekvivalenssi Bezierin kanssa kardinaalisplini: tangentiaalinen jatkuvuus Catmull & Rom: automaattinen tangentin asettaminen Kochanek & Bartels: tension, continuity, bias liikkeen ajoituksen määrittely erillisellä funktiolla parametrointi käyränpituuden suhteen, käyrän pituuden laskenta 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 26.9.05 - Tassu Animaatio 2005 - luento 2 2

Liikkeen määrittely Käsin asettelemalla (perinteinen tapa) Interpoloimalla avainasentoja (keyframing) Erikoistuneilla ohjelmilla (procedural) Rakennekuvauksilla (representational) Satunnaisprosesseilla (stochastic) Käyttäytymissäännöillä (behavioral) 26.9.05 - Tassu Animaatio 2005 - luento 2 3

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) 26.9.05 - Tassu Animaatio 2005 - luento 2 4

Esimerkki: pomppiva pallo Parabolinen lentorata, muuttuva nopeus Äkillinen suunnanvaihto törmäyksessä Litistyminen ja venyminen squash & stretch 26.9.05 - Tassu Animaatio 2005 - luento 2 5

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 26.9.05 - Tassu Animaatio 2005 - luento 2 6

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, yhtenäisillä polynomeilla ongelmia paloittain splinifunktioilla Parametrikäyrät: (x,y,z) = ƒ(p1,p2,..., t) 26.9.05 - Tassu Animaatio 2005 - luento 2 7

Parametrikäyrät Vektoriarvoinen yhden muuttujan funktio P(t) = (x,y,z)(t) = ƒ(t) = ( f x (t), f y (t), f z (t) ) Yleensä rajatulla välillä, esim. t [ 0,1 ] Derivaatta on myös vektori Dƒ(t) = dƒ(t)/dt = ( df x /dt, df y /dt, df z /dt )(t) Geometrinen tulkinta on eri asia x = f(y) ei ole yleeensä funktio dx/dy ei aina edes määritelty MILLOIN? vektorin arvona voi olla muutakin kuin geometriaa, esim. värejä (R,G,B,A) tai nivelkulmia (α,β,γ,θ,φ) 26.9.05 - Tassu Animaatio 2005 - luento 2 8

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 26.9.05 - Tassu Animaatio 2005 - luento 2 9

Interpoloinnin aspekteja Interpolointi vs. approksimointi Jatkuvuus C 0 (ei derivoituva) jatkuva käyrä C 1 (1. aste) tangentit samansuuntaisia C 2 (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 26.9.05 - Tassu Animaatio 2005 - luento 2 10

Geometrinen jatkuvuus G - ei jatkuva G 0 jatkuva, kulmikas G 1 tangentiaalisesti jatkuva G 2 kaarevuusjatkuva 26.9.05 - Tassu Animaatio 2005 - luento 2 11

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 piste, jossa määrittely vaihtuu käytännössä yleensä 3 polynomi riittävä jatkuvuusehdot solmukohdissa järjestettävissä 26.9.05 - Tassu Animaatio 2005 - luento 2 12

Bezier-käyrä ja B-splini 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 26.9.05 - Tassu Animaatio 2005 - luento 2 13

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 26.9.05 - Tassu Animaatio 2005 - luento 2 14

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) 26.9.05 - Tassu Animaatio 2005 - luento 2 15

Hermite (jatkuu) P = päätepiste D = päätetangentti 26.9.05 - Tassu Animaatio 2005 - luento 2 16

Kardinaalisplinit Perustuu Hermiten käyriin kullakin solmuvälillä polynomikäyrä lokaali ohjaus: piste + tangentit Tangentiaalinen jatkuvuus (C 1 ) haluttaessa tangenttivektorit säädettävissä interaktiivisesti, tai automaattisesti viereisten ohjauspisteiden perusteella Catmull-Rom-splini erikoistapauksena tangentti = naapuripisteiden erotusvektori / 2 päätepisteessä tangentti määriteltävä erikseen 26.9.05 - Tassu Animaatio 2005 - luento 2 17

Catmull-Rom splini P 2 D 1 = (P 3 - P 1 ) / 2 P 4 P 1 P 3 D 2 = (P 4 - P 2 ) / 2 26.9.05 - Tassu Animaatio 2005 - luento 2 18

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

TCB splini (jatkuu) tangenttivektorit DS ja DD muodostuvat vierekkäisten ohjauspisteiden erotuksista, mutta painokertoimet voivat vaihdella kuten Catmull-Rom, mutta kerroin voi olla muutakin kuin 1/2 t,c,b [ -1,+1 ] 26.9.05 - Tassu Animaatio 2005 - luento 2 20

TCB: tension käyrän kireys (kaarevuussäde) liitoskohdassa säädeltävissä parametrinen jatkuvuus säilyy, tangenttivektorin pituus muuttuu 26.9.05 - Tassu Animaatio 2005 - luento 2 21

TCB: continuity liitoskohdassa tangentiaalinen epäjatkuvuus syntyvä kulma säädettävissä piikki (c < 0) lovi (c > 0) 26.9.05 - Tassu Animaatio 2005 - luento 2 22

TCB: bias liitostangentin kaltevuus säädeltävissä ylilyönti (b > 0) ennakointi (b < 0) 26.9.05 - Tassu Animaatio 2005 - luento 2 23

TCB: yhdistetty ohjaus parametrit (t,c,b) määriteltävissä erikseen kullekin ohjauspisteelle paljon mahdollisuuksia! t=c=b=0 Catmull-Rom 26.9.05 - Tassu Animaatio 2005 - luento 2 24

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 26.9.05 - Tassu Animaatio 2005 - luento 2 25

Rationaalisplinit Tavanomainen polynomikäyrä (x,y,z)(t) = Σ P i B i (t) P i = ohjauspiste kullekin koordinaatille polynomi samasta kannasta B(t) vektorifunktio on painotettu summa ohjauspisteistä Rationaalikäyrä (x,y,z,w)(t) = Σ P i B i (t) kullekin koordinaatille rationaalifunktio x(t)/w(t) ohjauspisteille painokertoimet w(t) vapauksia mm. tarkka esitys 2 käyrille (ellipsi/parabeli/hyperbeli) Voidaan soveltaa mille hyvänsä käyrätyypeille, erityisen suosittu on NURBS: non-uniform rational B-spline polynomikantana B-splinit rationaalimuodossa solmupisteet eivät tasavälisesti parametriasteikolla 26.9.05 - Tassu Animaatio 2005 - luento 2 26

Spliniyhteenveto Splinit Approksimoivat Interpoloivat Bezier B-splinit Beta-splinit Luonnolliset splinit Hermiten splinit Kardinaalisplinit Catmull-Rom TCB 26.9.05 - Tassu Animaatio 2005 - luento 2 27

Nopeuden hallinta (1) Edelliset keskittyivät paikan jatkuvuuteen Aikaulottuvuus tekee interpoloinnin haasteellisemmaksi muotoa ohjaava parametrointi saattaa käyttäytyä yllättävästi! Toteutetaan käyräparametrin muutosta säätelemällä ( s(t) ) funktion oltava monotoninen ja jatkuva voidaan toteuttaa keyframe-tekniikalla (aika kunkin avainkuvan kohdalla) tai erikseen editoitavalla käyrällä käyrä parametroitava pituuden (s) suhteen 1.20 1.00 0.80 0.60 s 0.4 1.0 0.40 t = 0.0 0.6 0.20 0.00 t 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 (x,y,z)(s) = Σ P i B i i (s) i (s) s s = f(t) f(t) 26.9.05 - Tassu Animaatio 2005 - luento 2 28

Nopeuden hallinta (2) Tyypillinen tavoite: Ease-in/Ease-out vain päätepisteille, ei väliohjauspisteille voidaan toteuttaa cos-funktiolla laskennallisesti helpompaa on määritellä kiihtyvyys nopeus saadaan integroimalla kiihtyvyys paikka saadaan integroimalla nopeus Voidaan luonnollisesti tehdä myös splineillä Käyrän pituuden laskenta integroimalla ks. oppikirja analyyttisesti (sopii polynomi-splineille) numeeerisesti approksimoimalla askelittain Huom. geometrinen jatkuvuus == käyrän derivoituvuus pituusparametrin suhteeen 26.9.05 - Tassu Animaatio 2005 - luento 2 29

Pisteiden laskenta (1) Suora sijoitus summakaavaan (x,y,z)(t) = Σ P i B i (t) optimointi: monta arvoa peräkkäin (t muuttuu) vai vektorina rinnakkain (x,y,z samalle t-arvolle)? termien järjestely minimoi laskutoimitusten määrän at 3 + bt 2 + ct + d = ((at + b)t + c)t + d Yleiskaaava sama sama kaikille kaikille splineille -- erona erona kantafunktiot B i (t) i (t) ja ja se, se, mitkä mitkä indeksit indeksit i i mukana mukana summassa. Inkrementaalinen laskenta differenssimenetelmällä diskreetti differentiointi summakaavalle x(t+ t) = x(t) + ƒ(t, t) differenssifunktio ƒ() on astetta alempi polynomi samaa kaavaa voidaan soveltaa rekursiivisesti soveltuu tasavälisten arvojen perättäiseen laskentaan 26.9.05 - Tassu Animaatio 2005 - luento 2 30

Pisteiden laskenta (2) de Casteljaun menetelmä kätevä mielivaltaisen pisteen laskentaan rekursiivisesti lineaarisen interpolaation (lerp) avulla P 0 1 (t) = (1-t) P 0 + t P 1 P 0 2 (t) = (1-t) P 0 1 (t) + t P 1 1 (t) P (t) = (1-t) P 0 2 (t) + t P 1 2 (t) toteuttaa samalla käyrän uudelleen parametroinnin oheistuotteena ohjauspisteet ositetulle käyrälle P 0, P 0 1 (t), P 0 2 (t), P(t) rekursiivinen osiinjako algoritmina erityisen helppoa laskea käyrän keskipiste (t = 0.5) mielivaltainen piste löytyy puolitushaulla sovelluksia parametripintojen käsittelyssä! ekvivalenssi Bezier-käyrän kanssa sama tulos, kun summakaavan termit järjestetään sopivasti http://www.ibiblio.org/e-notes/splines/bezier.htm 26.9.05 - Tassu Animaatio 2005 - luento 2 31

Harjoitustehtävä assistenttitiimi: Teemu Mäki-Patola Tommi Tykkälä Markku Reunanen ohjelmointiympäristönä OpenGL laiteriippumaton ohjelmarunko tarjolla valmiina harjoitustehtävissä ohjelmarunkoon lisätään liikkeen määrittely (esim. kuinka pupu hyppelee) tarkemmat ohjeet ensi luennolla, ja piakkoin myös webissä http://www.tml.hut.fi/opinnot/t-111.5450/2005/harjoitustyot/ 26.9.05 - Tassu Animaatio 2005 - luento 2 32

Videot Klassikoita 80-luvulta (tyypillistä jäykät geometriset muodot ja yksinkertaiset liikeradat) Odyssey Intro Quest Adam Powers Works Oscar-voittaja vuodelta 1998 Best animated short Bunny (Chris Wedge) Luennon aiheeseen liittyvää muuta materiaalia http://escience.anu.edu.au/lecture/cg/spline/parametric.en.html 26.9.05 - Tassu Animaatio 2005 - luento 2 33