Animáció Szirmay-Kalos László. Animáció = időfüggés T1(t)T1(t) T2(t)T2(t) TV(t)TV(t) Transzformációk alak szín megjelenítési attribútumok, stb.

Slides:



Advertisements
Hasonló előadás
Koordináta transzformációk 2
Advertisements

A PONTSZERŰ ÉS KITERJEDT TESTEK MOZGÁSA
TransMotion1 TransMotion Projekt BMF-NIK, IAR szakirány Kertész Tamás Rieger Péter Szolyka Sándor Konzulens: Vámossy Zoltán.
BSP-fák használata játék- engine fejlesztésében a nagy kiterjedésű zárt terek megjelenítéséhez Előadó: Boromissza Gergely Konzulens: dr. Szirmay-Kalos.
A munkasebesség egyenlőtlensége
2D képszintézis Szirmay-Kalos László.
Geometriai Transzformációk
Analitikus (koordináta) geometriai gyorstalpaló
Geometriai transzformációk
Inkrementális 3D képszintézis
Geometriai modellezés
Sugárkövetés: ray-casting, ray-tracing
Inkrementális 3D képszintézis Szirmay-Kalos László.
2D képszintézis Szirmay-Kalos László. Számítógépes grafika feladata képszintézis Virtuális világ modell modellezés Metafórák: 2D rajzolás világ = sík.
Geometriai modellezés
Számítógépes grafika Szirmay-Kalos László
Sugárkövetés: ray-casting, ray-tracing Szirmay-Kalos László.
Számítógépes grafika Szirmay-Kalos László
3D képszintézis fizikai alapmodellje
Bevezetés.  A számítógépes grafika inkrementális képszintézis algoritmusának hardver realizációja  Teljesítménykövetelmények:  Animáció: néhány nsec.
Regresszió számítás Mérnöki létesítmények ellenőrzése, terveknek megfelelése Geodéziai mérések – pontok helyzete, pontszerű információ Lineáris regresszió.
Függvények BMEEPAGA301 Építész informatika 1
Térbeli infinitezimális izometriák
Klasszikus mechanikai kéttestprobléma és merev test szabad mozgása állandó pozitív görbületű sokaságon Kómár Péter témavezető: Dr. Vattay Gábor
Transzformációk kucg.korea.ac.kr.
A munkasebesség egyenlőtlensége
Számítógépes grafika, PPKE-ITK, Benedek Csaba, D képszintézis 4. előadás.
Számítógépes grafika, PPKE-ITK, Benedek Csaba, 2010 Geometriai modellezés 2. előadás.
6. Előadás Alkatrészkapcsolatok modellezése
Modellezés és szimuláció c. tantárgy Óbudai Egyetem Neumann János Informatikai Kar Intelligens Mérnöki Rendszerek Intézet Mechatronikai Mérnöki MSc 8.
Mérnöki számítások MÁMI_sz1 1.
A GEOMETRIA MODELLEZÉSE
3. Vetületi ábrázolások számítási eljárásai
Folyadékok mozgásjelenségei általában
PTE PMMK Matematika Tanszék dr. Klincsik Mihály Matematika III. előadások MINB083, MILB083 Gépész és Villamosmérnök szak BSc képzés 2007/2008. őszi félév.
Matematika III. előadások MINB083, MILB083
Mérnöki Fizika II előadás
Mérnöki Fizika II előadás
2D képszintézis és textúrák
2. Koordináta-rendszerek és transzformációk
3. Vetületi ábrázolások számítási eljárásai
Budapesti Műszaki Főiskola Bánki Donát Gépészmérnöki Főiskolai Kar Forgácsolási technológia számítógépes tervezése 3. Előadás Felületek megmunkálásának.
Mechanika KINEMATIKA: Mozgások leírása DINAMIKA: a mozgás oka erőhatás
Mechanika KINEMATIKA: Mozgások leírása DINAMIKA: a mozgás oka erőhatás
Fraktálok Szirmay-Kalos László.
Sugárkövetés: ray-casting, ray-tracing
Sugárkövetés: ray-casting, ray-tracing
2D képszintézis Szirmay-Kalos László.
Analitikus geometria gyorstalpaló
Inkrementális 3D képszintézis Szirmay-Kalos László.
Számítógépes grafika Bevezetés
3D képszintézis fizikai alapmodellje Szirmay-Kalos László Science is either physics or stamp collecting. Rutherford.
Animáció Szirmay-Kalos László.
Transzformációk Szirmay-Kalos László. Transzformációk (x,y) (x’,y’) = T(x,y) l Tönkre tehetik az egyenletet l Korlátozzuk a transformációkat és az alakzatokat.
Inkrementális 3D képszintézis
TransMotion Emberi mozgás digitalizálása
Pozsgay Balázs IV. évfolyamos fizikus hallgató
3. Vetületi ábrázolások számítási eljárásai
Animáció és szimuláció Jeni László Attila
2.2. Az egyenes és a sík egyenlete
2. Koordináta-rendszerek és transzformációk
Geometriai transzformációk
Pontszerű test – kiterjedt test
2. előadás.
A mozgás egy E irányú egyenletesen gyorsuló mozgás és a B-re merőleges síkban lezajló ciklois mozgás szuperpoziciója. Ennek igazolására először a nagyobb.
Számítógépes grafika, PPKE-ITK, Benedek Csaba, 2010 Geometriai modellezés 2. előadás.
Variációs elvek (extremális = min-max elvek) a fizikában
Számítógépes grafika, PPKE-ITK, Benedek Csaba, 2010
Szécsi László 3D Grafikus Rendszerek 7. előadás
Animáció Szirmay-Kalos László.
Előadás másolata:

Animáció Szirmay-Kalos László

Animáció = időfüggés T1(t)T1(t) T2(t)T2(t) TV(t)TV(t) Transzformációk alak szín megjelenítési attribútumok, stb

Valós idejű animáció Óra inicializálás (t start ) do t = Óra leolvasás for each object o: modellezési transzf T M, o = T M, o (t) Nézeti transzformáció: T V = T V (t) Képszintézis while (t < t end ) Legalább 15 ciklus másodpercenként

Valószerű mozgás l Fizikai törvények: –Newton törvény –ütközés detektálás és válasz: impulzus megmaradás l Fiziológiai törvények –csontváz nem szakad szét –meghatározott szabadságfokú ízületek –bőr rugalmasan követi a csontokat l Energiafelhasználás minimuma

Newton törvény r(t) = r L T M (t) F/m = r = r L d2dt2d2dt2 d2dt2d2dt2 TM(t)TM(t) Az erő rugalmas mechanizmuson keresztül hat, azaz folytonosan változik T M (t) C 2 folytonos m

cos  sin  -sin  cos  1 T M (t): Mozgástervezés l Követelmény: ált. C 2, néha (C 1,C 0 ) folytonosság l Mátrixelemek nem függetlenek –Tervezés független paraméterek terében pozíció: px, py, pz orientáció: , ,  skálázás:sx, sy, sz T M (t)= sx sy sz 1 cos  -sin  1 sin  cos  1 cos  sin  -sin  cos  1 px, py, pz, 1 p(t)

Mozgástervezés a paramétertérben l p(t) elemei ált. C 2, néha (C 1,C 0 ) folytonosak l p(t) elemeinek a definíciója: –görbével direkt módon (spline) –képlettel: script animation –kulcsokból interpolációval: keyframe animation –görbével indirekt módon: path animation –mechanikai modellből az erők alapján: physical animation –mérésekből: motion capture animation

1. key Keyframe animáció 2.key3.key4.key5.key

Keyframe animáció görbéi

Görbék megváltoztatása

Keyframe animáció

Pálya (path) animáció t = spline paraméter vagy az ívhossz lokális modellezési transzf: y = fix z = görbe der. x = vektor 

Pálya animáció: Transzformáció Explicit up vektorFrenet keretek: zm = r’(t)zm = r’(t) xm = zm  upxm = zm  r’’(t) ym = zm  xmym = zm  xm zm xm ym TM =TM = xm 0 (t) 0 ym 0 (t) 0 zm 0 (t) 0 r(t) 1 A függőleges, amerre az erő hat r(t) görbe: r(t) orr: z

Ívhossz szerinti mozgás r(u) görbe: s(u) =  s(u) u Ívhossz szerinti mozgás Megtett út-idő függvény: s(u) = f(t), például a·t u = s -1 (f(t)) r = r(u) ívhossz  (dx/du) 2 +(dy/du) 2 +(dz/du) 2 du f(t)f(t) t u ds dz = dz/du ·du

Pálya animáció

Fizikai animáció l Erők (gravitáció, turbulencia stb.) l Tömeg, tehetetlenségi nyomaték (F = ma) l Ütközés detektálás (metszéspontszámítás) l Ütközés válasz –rugók, ha közel vannak –impulzus megmaradás alapján

Egy kis mechanika F(r,v,t) erő m for( t = 0; t < T; t += dt) { F = Erők számítása a = F/m v += a ·dt if ( ÜtközésDetektál ) ÜtközésVálasz r += v ·dt } v n = CollisionNormal v’ v’ = [v - n(v·n)]-[n(v·n)·bounce] v sugár: r+v ·t metszés: t* Ha t* < dt Collision ÜtközésDetektál ÜtközésVálasz dr/dt = v dv/dt = F(r,v,t)/m -n(v·n)

Folytonos-Diszkrét ütközés detektálás pontra és féltérre r(t i ) r(t i+1 ) n · (r - r0) = 0 n · (r - r0) > 0 n · (r - r0) < 0 v sugár: r+v ·t metszés: t* Ha t* < dt Collision

Ütközés detektálás háromszög-háromszöggyorsítás: befoglalók O(n 2 )

Real-time fizikai animáció Konyha Zoltán (autoszimulátor)

Karakter animáció r w = r L · R kéz ·T alkar ·R könyök ·T felkar ·R váll ·T gerinc ·T ember rwrw rLrL homogén koordináta 4-es

2D csont  l px,py l 1 cos  sin  0 -sin  cos  x, y, px py 1

Robot példa T0 = robot előrehalad glTranslatef(xr, yr, zr); T1= kar elhelyése glTranslatef(xv, yv, zv); T2= forgatás glRotatef(angle, 1.0f, 0.0f, 0.0f); T3= skálázás glScalef(1.0f, 4.0f, 1.0f); T0 T1 T2 T3 Robot HeadTorsoLeg1Leg2Arm1Arm2 T0 T1, T2, T3

Robot rajzolás + animáció void DrawRobot(float dt) { xr += vx*dt; yr += vy*dt; zr += vz*dt; glPushMatrix(); glTranslatef(xr, yr, zr); angle += av*dt; if (angle>30 || angle<-30) av*=-1; glColor3f(1, 0, 0);// red glPushMatrix(); glTranslatef(xv, yv, zv); glRotatef(angle, 1, 0, 0); glScalef(1, 4, 1);// 1x4x1 cube DrawCube( ); glPopMatrix(); … Másik kéz, lábak, fej, törzs glPopMatrix(); } Robot Arm1Arm2HeadTorso

„Inverz kinematika” T0 = előrehaladás (forward, up) ??? T2 = forgatás (ang) A láb (end effektor) földön legyen és ne csúszkáljon forward += leg * fabs(sin(angNew) - sin(angOld)); up = leg * (1 - cos(angNew)); leg forward up

Csontváz felépítése end effektor Állapotvektor = egyes ízületek állapota S = (px, py, pz, , ,  )| i=1..n E = (x, y, z, , ,  ) Strukturális összefüggés: E = F( S )

2 szabadságfokú rendszer 11 22 l1l1 l2l2 E = (x, y) S = (  1,  2 ) x(  1,  2 ) = l 1 cos  1 + l 2 cos(  1 +  2 ) y(  1,  2 ) = l 1 sin  1 + l 2 sin(  1 +  2 ) Strukturális összefüggés:

Forward kinematika karakter állapot beállítás: S 1, E 1 karakter állapot beállítás: S 2, E 2 … karakter állapot beállítás: S n, E n S(t) interpolációval E(t) = F ( S(t) )

Forward kinematika eredmény

Inverz kinematikával karakter állapot beállítás: S 1, E 1 karakter állapot beállítás: S 2, E 2 … karakter állapot beállítás: S n, E n E(t) interpolációval S = F -1 ( E(t) )

Inverz kinematika eredmény

Inverz kinematika: S = F -1 (E) Az F strukturális függvény általában nem invertálható analitikusan és az inverz nem egyértelmű: ITERATÍV MEGOLDÁS t 0 -ra E 0, S 0 ismert ha E t, S t ismert, számítsuk E t+dt = E t +dE t, S t+dt = S t +dS E t +dE t = F( S t +dS ) = F( S t )+ dS 1 +…+ F S1F S1 F SnF Sn dSndSn = F1 S1F1 S1 Fm S1Fm S1 F1 SnF1 Sn Fm SnFm Sn... dE t,1... dE t,m dS1dS1... dSndSn Jacobi-mátrix m  n lineáris egyenletrendszer

m  n-es egyenletek megoldása, túlhatározottság: m > n y m = A m  n ·x n A n  m · y m = A n  m A m  n · x n (A n  m A m  n ) -1 A n  m ·y m = x n T T TT A + = A n  m pseudo inverze minimális kvadratikus hibájú megoldás: | A m  n ·x n - y m |

m x n-es egyenletek megoldása, alulhatározottság: m < n y m = A m  n ·x n A n  m ·(A m  n A n  m ) -1 · y m = x n Behelyettesítés: A m  n ·x n = A m  n · A n  m ·(A m  n A n  m ) -1 · y m = y m T T T A + = A nxm pseudo inverze T minimális energiájú megoldás: | x n |

Inverz kinematika megoldás E = E 0, S = S 0 for( t = t0; t < T; t += dt ) { S alapján a transzformációs mátrixok előállítása Képszintézis J(S) Jacobi mátrix számítása J + = J pseudo-inverze E(t+dt) interpolációval (keyframe) dE = E(t+dt) - E(t) dS = J + ·dE S += dS }

Példa: 2 szabadságfokú rendszer 11 22 l1l1 l2l2 E = (x, y) S = (  1,  2 ) x(  1,  2 ) = l 1 cos  1 + l 2 cos(  1 +  2 ) y(  1,  2 ) = l 1 sin  1 + l 2 sin(  1 +  2 ) = dx dy d1d1 -l 1 sin  1 - l 2 sin(  1 +  2 ) d2d2 -l 2 sin(  1 +  2 ) l 1 cos  1 + l 2 cos(  1 +  2 )l 2 cos(  1 +  2 ) J(  1,  2 ) Jacobi mátrix

Bőrözés

Merev és sima bőrőzés

Példa: sétáló mozgás

Teljes,ciklikus séta

Egyszerű karakteranimáció

Motion Capture animáció

Sztereo látás X1, Y1 P2P2 c1 c2 v1 u1 P = vrp + X/XMAX u + Y/YMAX v c1 + (P1-c1) · t1 = [x, y, z] c2 + (P2-c2) · t2 = [x, y, z] 6 egyenlet, 5 ismeretlen (x, y, z, t1, t2) Hiba: kitérő egyenesek P1 vrp1 W = [x, y, z] c, u, v, vrp meghatározása: kamera kalibráció

Motion capture eredmény x t y t z t Minden markerre: pozicióadatok x t y t z t M2 M3 M1 M2 M3 M4 cos  =(M3-M2) 0 ·(M2-M1) 0 tengely: d=(M3-M2) x (M2-M1)

Valóságos és virtuális világok képi illesztése: kamera

Valóságos és virtuális világok képi illesztése Blaskó Gábor

Kamera kalibráció (x, y, z)  (X,Y) c v u vrp (x, y, z) f Ismeretlenek: vrp, f, u, v = 8 (X,Y)

Kompozitálás Blaskó Gábor