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
SCHÉMA POMOCNÝCH OBVODU POJEZDU KOÈKY
Lednický pohár – Lednice 1. 5. 2013