-
Complete Download [TAR]
[WIM]
[ZIP]
[RAR]
- Alphabetical Download [TAR]
[WIM]
[ZIP]
[RAR]
- Download
Instructions
Make
a donation:
IBAN: IT36M0708677020000000008016 - BIC/SWIFT:
ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy
Cookie Policy
Terms and Conditions
Manuale di Utilizzo di POV-Ray 3.01 - Versione Italiana
4.10.6.1 La
Variabile Clock : la Chiave di Tutto
POV-Ray supporta una variabile decimale
predefinita chiamata clock
(tutto a lettere minuscole). Questa è la chiave per automatizzare
le animazioni. Nelle operazioni a linea di comando, la variabile clock
viene impostata fornendo al programma il parametro +k.
Per esempio, il parametro +k3.4
imposterebbe il valore di clock
a 3.4. Allo stesso modo, in un file .INI, la presenza della linea
Clock=3.4
darebbe lo stesso risultato.
Se non impostiamo il valore di clock
e non usiamo il loop di animazione interno a POV-Ray (che verrà
descritto tra poco) la variabile clock
è sempre definita come uguale a zero, quindi è possibile
impostare un file scena pensato per l'animazione e renderizzarlo come immagine
ferma, durante la fase di progettazione della scena.
L'esempio più semplice per usare questa variabile a nostro vantaggio
è definire un oggetto che si sposta a velocità costante,
per esempio lungo l'asse delle x. Avremmo quindi la frase
translate <clock, 0, 0>
nella frase di dichiarazione del nostro
oggetto e il loop di animazione assegnerebbe valori progressivamente crescenti
a clock.
Fino a quando vogliamo che solo un oggetto o un aspetto della scena cambi,
va tutto bene, ma cosa succede se vogliamo controllare cambiamenti multipli
nella nostra scena ? Il segreto è di usare valori normalizzati
di clock
(cioè che variano tra zero ed uno) e poi dichiarare altre variabili
proporzionali a clock.
Quindi, impostiamo clock
(ci stiamo arrivando !) per variare tra 0 ed 1 e poi lo usiamo come
fattore moltiplicativo per altre variabili. In questo modo, le altre variabili
possono assumere qualunque altro valore e clock
si mantiene tra 0 ed 1 per qualunque altro utilizzo. Vediamo un esempio
(relativamente) semplice.
#include "colors.inc"
camera {
location <0, 3, -6>
look_at <0, 0, 0>
}
light_source { <20, 20, -20> color White }
plane { y, 0
pigment { checker color White color Black }
}
sphere { <0, 0, 0> , 1
pigment {
gradient x
color_map {
[0.0 Blue ]
[0.5 Blue ]
[0.5 White ]
[1.0 White ]
}
scale .25
}
rotate <0, 0, -clock*360>
translate <-pi, 1, 0>
translate <2*pi*clock, 0, 0>
}
Renderizzando una serie di fotogrammi
con la variabile clock
che varia progressivamente tra zero ed uno, la scena precedente produrrà
una palla a strisce che rotola attraverso lo schermo.
Fig. 193-Semplice animazione
In questo caso abbiamo due obiettivi:
a. Traslare la palla dal punto A al punto B e
b. Ruotare la palla in proporzione al suo movimento lineare, in modo di
dare l'impressione che essa stia rotolando e non strisciando.
Partendo dal punto b, iniziamo con la nostra sfera posizionata nell'origine,
poiché una rotazione in qualunque altro punto, farebbe orbitare
la palla attorno all'origine e non su sé stessa. Attraverso tutta
la rotazione, la palla farà un giro completo di 360°, quindi
abbiamo usato la formula 360*clock
per determinare la rotazione che si ha in ogni fotogramma. Poiché
l'animazione inizia a clock=0
e finisce a clock=1,
la rotazione della sfera va da 0 a 360 gradi.
Poi, abbiamo usato la prima traslazione per portare la sfera al punto iniziale
(A). Non potremmo averla semplicemente definita in questo punto, dato che
avrebbe poi ruotato attorno all'origine, quindi prima di poter completare
il punto a (la traslazione) dobbiamo mettere la sfera dove deve trovarsi
alla partenza. Poi, la trasliamo nuovamente, questa volta di una distanza
dipendente da clock,
in modo che si sposti dal punto che le abbiamo assegnato per la partenza.
Abbiamo scelto la formula 2*pi*r*clock
(la circonferenza massima della sfera moltiplicata per clock)
in modo che la sfera si sposti di una distanza pari alla sua circonferenza
quando ruota di 360 gradi. In questo modo, abbiamo sincronizzato la rotazione
della sfera alla sua traslazione, facendo sembrare che essa rotoli tranquillamente
sul piano.
Oltre a permetterci di coordinare molteplici aspetti dei cambiamenti che
avvengono nella scena durante l'animazione, matematicamente parlando, l'altra
buona ragione per utilizzare valori normalizzati di clock
è che non importa se stiamo renderizzando la nostra animazione per
fare una GIF animata da 10 fotogrammi o un filmato AVI da 300. I valori
di clock
sono proporzionali al numero dei fotogrammi e quindi lo stesso codice di
POV-Ray funzionerà indipendentemente da quanto è lunga la
sequenza. La nostra palla si sposterà esattamente della stessa distanza
e non importa quanto finirà con l'essere lunga l'animazione.
Static
Wikipedia 2008 (no
images)
aa
- ab
- af
- ak
- als
- am
- an
- ang
- ar
- arc
- as
- ast
- av
- ay
- az
- ba
- bar
- bat_smg
- bcl
- be
- be_x_old
- bg
- bh
- bi
- bm
- bn
- bo
- bpy
- br
- bs
- bug
- bxr
- ca
- cbk_zam
- cdo
- ce
- ceb
- ch
- cho
- chr
- chy
- co
- cr
- crh
- cs
- csb
- cu
- cv
- cy
- da
- de
- diq
- dsb
- dv
- dz
- ee
- el
- eml
- en
- eo
- es
- et
- eu
- ext
- fa
- ff
- fi
- fiu_vro
- fj
- fo
- fr
- frp
- fur
- fy
- ga
- gan
- gd
- gl
- glk
- gn
- got
- gu
- gv
- ha
- hak
- haw
- he
- hi
- hif
- ho
- hr
- hsb
- ht
- hu
- hy
- hz
- ia
- id
- ie
- ig
- ii
- ik
- ilo
- io
- is
- it
- iu
- ja
- jbo
- jv
- ka
- kaa
- kab
- kg
- ki
- kj
- kk
- kl
- km
- kn
- ko
- kr
- ks
- ksh
- ku
- kv
- kw
- ky
- la
- lad
- lb
- lbe
- lg
- li
- lij
- lmo
- ln
- lo
- lt
- lv
- map_bms
- mdf
- mg
- mh
- mi
- mk
- ml
- mn
- mo
- mr
- mt
- mus
- my
- myv
- mzn
- na
- nah
- nap
- nds
- nds_nl
- ne
- new
- ng
- nl
- nn
- no
- nov
- nrm
- nv
- ny
- oc
- om
- or
- os
- pa
- pag
- pam
- pap
- pdc
- pi
- pih
- pl
- pms
- ps
- pt
- qu
- quality
- rm
- rmy
- rn
- ro
- roa_rup
- roa_tara
- ru
- rw
- sa
- sah
- sc
- scn
- sco
- sd
- se
- sg
- sh
- si
- simple
- sk
- sl
- sm
- sn
- so
- sr
- srn
- ss
- st
- stq
- su
- sv
- sw
- szl
- ta
- te
- tet
- tg
- th
- ti
- tk
- tl
- tlh
- tn
- to
- tpi
- tr
- ts
- tt
- tum
- tw
- ty
- udm
- ug
- uk
- ur
- uz
- ve
- vec
- vi
- vls
- vo
- wa
- war
- wo
- wuu
- xal
- xh
- yi
- yo
- za
- zea
- zh
- zh_classical
- zh_min_nan
- zh_yue
- zu
-
Static
Wikipedia 2007 (no
images)
aa
- ab
- af
- ak
- als
- am
- an
- ang
- ar
- arc
- as
- ast
- av
- ay
- az
- ba
- bar
- bat_smg
- bcl
- be
- be_x_old
- bg
- bh
- bi
- bm
- bn
- bo
- bpy
- br
- bs
- bug
- bxr
- ca
- cbk_zam
- cdo
- ce
- ceb
- ch
- cho
- chr
- chy
- co
- cr
- crh
- cs
- csb
- cu
- cv
- cy
- da
- de
- diq
- dsb
- dv
- dz
- ee
- el
- eml
- en
- eo
- es
- et
- eu
- ext
- fa
- ff
- fi
- fiu_vro
- fj
- fo
- fr
- frp
- fur
- fy
- ga
- gan
- gd
- gl
- glk
- gn
- got
- gu
- gv
- ha
- hak
- haw
- he
- hi
- hif
- ho
- hr
- hsb
- ht
- hu
- hy
- hz
- ia
- id
- ie
- ig
- ii
- ik
- ilo
- io
- is
- it
- iu
- ja
- jbo
- jv
- ka
- kaa
- kab
- kg
- ki
- kj
- kk
- kl
- km
- kn
- ko
- kr
- ks
- ksh
- ku
- kv
- kw
- ky
- la
- lad
- lb
- lbe
- lg
- li
- lij
- lmo
- ln
- lo
- lt
- lv
- map_bms
- mdf
- mg
- mh
- mi
- mk
- ml
- mn
- mo
- mr
- mt
- mus
- my
- myv
- mzn
- na
- nah
- nap
- nds
- nds_nl
- ne
- new
- ng
- nl
- nn
- no
- nov
- nrm
- nv
- ny
- oc
- om
- or
- os
- pa
- pag
- pam
- pap
- pdc
- pi
- pih
- pl
- pms
- ps
- pt
- qu
- quality
- rm
- rmy
- rn
- ro
- roa_rup
- roa_tara
- ru
- rw
- sa
- sah
- sc
- scn
- sco
- sd
- se
- sg
- sh
- si
- simple
- sk
- sl
- sm
- sn
- so
- sr
- srn
- ss
- st
- stq
- su
- sv
- sw
- szl
- ta
- te
- tet
- tg
- th
- ti
- tk
- tl
- tlh
- tn
- to
- tpi
- tr
- ts
- tt
- tum
- tw
- ty
- udm
- ug
- uk
- ur
- uz
- ve
- vec
- vi
- vls
- vo
- wa
- war
- wo
- wuu
- xal
- xh
- yi
- yo
- za
- zea
- zh
- zh_classical
- zh_min_nan
- zh_yue
- zu
-
Static
Wikipedia 2006 (no
images)
aa
- ab
- af
- ak
- als
- am
- an
- ang
- ar
- arc
- as
- ast
- av
- ay
- az
- ba
- bar
- bat_smg
- bcl
- be
- be_x_old
- bg
- bh
- bi
- bm
- bn
- bo
- bpy
- br
- bs
- bug
- bxr
- ca
- cbk_zam
- cdo
- ce
- ceb
- ch
- cho
- chr
- chy
- co
- cr
- crh
- cs
- csb
- cu
- cv
- cy
- da
- de
- diq
- dsb
- dv
- dz
- ee
- el
- eml
- eo
- es
- et
- eu
- ext
- fa
- ff
- fi
- fiu_vro
- fj
- fo
- fr
- frp
- fur
- fy
- ga
- gan
- gd
- gl
- glk
- gn
- got
- gu
- gv
- ha
- hak
- haw
- he
- hi
- hif
- ho
- hr
- hsb
- ht
- hu
- hy
- hz
- ia
- id
- ie
- ig
- ii
- ik
- ilo
- io
- is
- it
- iu
- ja
- jbo
- jv
- ka
- kaa
- kab
- kg
- ki
- kj
- kk
- kl
- km
- kn
- ko
- kr
- ks
- ksh
- ku
- kv
- kw
- ky
- la
- lad
- lb
- lbe
- lg
- li
- lij
- lmo
- ln
- lo
- lt
- lv
- map_bms
- mdf
- mg
- mh
- mi
- mk
- ml
- mn
- mo
- mr
- mt
- mus
- my
- myv
- mzn
- na
- nah
- nap
- nds
- nds_nl
- ne
- new
- ng
- nl
- nn
- no
- nov
- nrm
- nv
- ny
- oc
- om
- or
- os
- pa
- pag
- pam
- pap
- pdc
- pi
- pih
- pl
- pms
- ps
- pt
- qu
- quality
- rm
- rmy
- rn
- ro
- roa_rup
- roa_tara
- ru
- rw
- sa
- sah
- sc
- scn
- sco
- sd
- se
- sg
- sh
- si
- simple
- sk
- sl
- sm
- sn
- so
- sr
- srn
- ss
- st
- stq
- su
- sv
- sw
- szl
- ta
- te
- tet
- tg
- th
- ti
- tk
- tl
- tlh
- tn
- to
- tpi
- tr
- ts
- tt
- tum
- tw
- ty
- udm
- ug
- uk
- ur
- uz
- ve
- vec
- vi
- vls
- vo
- wa
- war
- wo
- wuu
- xal
- xh
- yi
- yo
- za
- zea
- zh