8.5 Animace
Transkript
Geometrie na počı́tači 8.5 KAPITOLA 8. 3D GEOMETRIE V POVRAY Animace PovRAY nemá nástroje na vytvořenı́ ucelené animace, umı́ pouze pomocı́ proměnné clock vytvořit sekvenci po sobě jdoucı́ch snı́mků, které je nutné do výsledné animace spojit v dalšı́m programu (MS Gif Animator, GifWcx plugin pro Total Commander, atd.) Pro řı́zenı́ animace využijeme externı́ .ini soubor, kterým nahradı́me obvyklý quikers.ini, který je volán automaticky. Ukázkový anim.ini [800x600, AAF,anim] Width=800 Height=600 Antialias=On Initial Frame=1 Final Frame=20 Initial Clock=0 Final Clock=1 8.5.1 //hlavicka - obsahuje libovolné indentifikacni udaje, nepovina //sirka generovaných snimku v pixelech //vyska generovanych snimků v pixelech //vyhlazovani hran - on x off - zapnute zlepsuje vzhled objektu, ale zvysuje narocnost //cislo prvniho snimku //cislo posledniho snimku //pocatecni hodnota promene clok //koncova hodnota promene clok Animace jednı́m směrem Synchronizace dvou pohybů - posuvného ve směru osy x a totačnı́ho kolem osy z. scena.pov anim.ini #include ”colors.inc” [160x120, AAF,anim] camera{location < 5, 5, −10 > look at < 5.0, 1.0, 0.0 >} Width=160 light source{< −30, 15, −30 > color rgb 1} Height=120 light source{< 50, 15, −30 > color rgb .7 shadowless} Antialias=On background{color Blue} Initial Frame=1 plane{y, -1 pigment{color rgb Green}} Final Frame=10 Initial Clock=0 cylinder{< 0, 0, 0 >, < 0, 0, −1 >, 1 Final Clock=1 pigment{checker White Black} rotate -clock*360*z translate 2*pi*clock*x } Dlouhá, Červenka 2013 82 VŠB-TU Ostrava Geometrie na počı́tači 8.5.2 8.5. ANIMACE Animace s návratem - #if-#else Synchronizace dvou pohybů - posuvného ve směru osy x a totačnı́ho kolem osy z. Rozdělı́me animaci na dvě části podmı́nkou #if-#else, při tomto způsobu členěnı́ animace na vı́c částı́ docházı́ k nepřehlednému zanořovánı́ podmı́nek. scena.pov #include ”colors.inc” camera{location < 5, 5, −10 > look at < 5.0, 1.0, 0.0 >} light source{< −30, 15, −30 > color rgb 1} light source{< 50, 15, −30 > color rgb .7 shadowless} background{color Blue} plane{y, -1 pigment{color rgb Green}} #if ( clock <= 1 ) cylinder{< 0, 0, 0 >, < 0, 0, −1 >, 1 pigment{checker White Black} anim.ini rotate -clock*360*z [160x120, AAF,anim] translate 2*pi*clock*x Width=160 } Height=120 Antialias=On #else Initial Frame=1 #declare Elseclock = clock-1; Final Frame=20 cylinder{< 0, 0, 0 >, < 0, 0, −1 >, 1 Initial Clock=0 pigment{checker White Black} Final Clock=2 rotate Elseclock*360*z translate 2*pi*x translate -2*pi*Elseclock*x } #end Dlouhá, Červenka 2013 83 VŠB-TU Ostrava Geometrie na počı́tači 8.5.3 KAPITOLA 8. 3D GEOMETRIE V POVRAY Animace s návratem - framenumber Synchronizace dvou pohybů - posuvného ve směru osy x a totačnı́ho kolem osy z. Rozdělı́me animaci na dvě části pomocı́ proměné framenumber, při tomto způsobu členěnı́ animace na vı́c částı́ je potřeba na začátku přesně určit počet snı́mků nutných pro každou fázi, dalšı́ úpravy mohou být velmi nepřehledné. scena.pov #include ”colors.inc” camera{location < 5, 5, −10 > look at < 5.0, 1.0, 0.0 >} light source{< −30, 15, −30 > color rgb 1} light source{< 50, 15, −30 > color rgb .7 shadowless} background{color Blue} plane{y, -1 pigment{color rgb Green}} #switch (frame number) #local from frame=1; #local to frame=10; #local from frame2=11; #local to frame2=20; anim.ini #range (from frame,to frame) [160x120, AAF,anim] cylinder{< 0, 0, 0 >, < 0, 0, −1 >, 1 pigment{checker White Black} Width=160 rotate -clock*360*z Height=120 translate 2*pi*clock*x Antialias=On Initial Frame=1 } Final Frame=20 Initial Clock=0 #break Final Clock=2 #range (from frame2,to frame2) #declare Elseclock = clock-1; cylinder{< 0, 0, 0 >, < 0, 0, −1 >, 1 pigment{checker White Black} rotate Elseclock*360*z translate 2*pi*x translate -2*pi*Elseclock*x } #end Dlouhá, Červenka 2013 84 VŠB-TU Ostrava Geometrie na počı́tači 8.5.4 8.5. ANIMACE Animace pohybu řı́zeného křivkou Pohyb objektu je řı́zen dvourozměrnou spline křivkou (definovaná ve standartnı́m externı́m souboru ”transforms.inc”). scena.pov #include ”transforms.inc” #include ”colors.inc” camera{location < 5, 5, −25 > look at < 10.0, 1.0, 0.0 >} light source{< −30, 15, −30 > color rgb 1} light source{< 50, 15, −30 > color rgb .7 shadowless} background{color Blue} anim.ini plane{y, -1 pigment{color rgb Green}} [160x120, AAF,anim] Width=160 #declare valec = cylinder{< 0, 0, 0 >, < 0, 0, −1 >, 1 Height=120 pigment{checker White Black} Antialias=On rotate -clock*360*z Initial Frame=1 translate 2*pi*clock*x Final Frame=20 } Initial Clock=0 Final Clock=2 #declare valec draha= spline{ 0 < 0, 0, 0 > 0.1 < 1, 10, 0 > 0.2 < 2, 0, 0 > 0.3 < 3, 8, 0 > 0.4 < 4, 4, 0 > 0.5 < 5, 0, 0 > 0.6 < 6, 7, 0 > 0.7 < 7, 3, 0 > 0.8 < 8, 0, 0 > 0.9 < 9, 9, 0 > 1 < 10, 4, 0 > 1.5 < 10, 4, 0 > 1.6 < 11, 0, 0 > 1.7 < 13, 4, 0 > 1.8 < 15, 9, 0 > 1.9 < 17, 4, 0 > 2 < 18, 0, 0 > } object{valec Spline Trans( valec draha, clock x,0,0)} Dlouhá, Červenka 2013 85 VŠB-TU Ostrava Geometrie na počı́tači 8.5.5 KAPITOLA 8. 3D GEOMETRIE V POVRAY Úlohy k procvičenı́ 1. Koule Vytvořte animaci, ve které se budou jednotlivé koule otáčet ve směru souřadných os. 2. Blob Vytvořte animaci, ve které se budou plynule měnit sı́ly jednotlivých komponent implicitnı́ plochy. 3. Schodiště Vytvořte animaci, ve které budou postupně přibývat stupně točitého schodiště. 4. Dáma Vytvořte animaci alespoň části partie dámy, kde pohnete s několika figurami a jednu ”vyhodı́te”. 5. Auto Vytvořte animaci reálného pohybu auta, kde několikrát zatočı́te, zastavı́te na přechodu atd. Zkuste nasvı́tit scénu reflektory auta. Dlouhá, Červenka 2013 86 VŠB-TU Ostrava
Podobné dokumenty
Geometrie na poc´ıtaci
8.3 Programovánı́ v PovRAY . . . . . . . . . .
8.3.1 Proměnné . . . . . . . . . . . . . .
8.3.2 Cyklus while . . . . . . . . . . . .
8.3.3 Podmı́nka if-else . . . . . . . . . . .
8.3.4 Řešené...
Kapitola 8 3D geometrie v PovRAY
colors.inc - základnı́ barvy
consts.inc - matematické a fyzikálnı́ konstanty
debug.inc - nástroje pro laděnı́ aplikace
finish.inc - povrchy
functions.inc - matematické funkce
glass.inc - sklo...
CACIL CCLA Res CACIL zurückgez. nD
Pharaoh Hound,Solo,H,480m
3 Ezar Putimska Brana
Saluki,Solo,R,480m
Seznam účastníků - DOSTIHOVÁ DRÁHA Mladá Boleslav
wh. BOLID Slainte Bohemia
wh. DIADÉM Inventum
wh. OSKAR Vlapan
wh. DEXTER Inventum
wh. DIAMOND EYES Inventum
wh. VULKÁN Ayort Back
wh. DONATELLA Inventum
wh. Night Flash LEONYKISS
wh. VENUS Ayort B...
O FUNKC´ICH - e
svém matematickém životě potkat. Jedná se o funkce, kterým se řı́ká elementárnı́. Existujı́ i jiné, ale s těmi se (skoro jistě) nesetkáte.
Elementárnı́ch funkcı́ je nekonečně mnoho,...
Open source při výuce grafiky
Skriptování (Script-fu, Python)
Konfigurovatelnost, lokalizace
Neschopnost práce v barevném prostoru CMYK