8.5 Animace

Transkript

8.5 Animace
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

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é...

Více

Kapitola 8 3D geometrie v PovRAY

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...

Více

CALL 19/8.2

CALL 19/8.2 SCHÉMA POMOCNÝCH OBVODU POJEZDU KOÈKY

Více

CACIL CCLA Res CACIL zurückgez. nD

CACIL CCLA Res CACIL zurückgez. nD Pharaoh Hound,Solo,H,480m 3 Ezar Putimska Brana Saluki,Solo,R,480m

Více

Lednický pohár – Lednice 1. 5. 2013

Lednický pohár – Lednice 1. 5. 2013 Lednický pohár – Lednice 1. 5. 2013

Více

Seznam účastníků - DOSTIHOVÁ DRÁHA Mladá Boleslav

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...

Více

O FUNKC´ICH - e

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,...

Více

Open source při výuce grafiky

Open source při výuce grafiky Skriptování (Script-fu, Python) Konfigurovatelnost, lokalizace Neschopnost práce v barevném prostoru CMYK

Více