• Aucun résultat trouvé

Quelques mots sur Quelques mots sur l'animation avec POV- l'animation avec POV- RayRay

N/A
N/A
Protected

Academic year: 2022

Partager "Quelques mots sur Quelques mots sur l'animation avec POV- l'animation avec POV- RayRay"

Copied!
10
0
0

Texte intégral

(1)

Quelques mots sur Quelques mots sur l'animation avec POV- l'animation avec POV-

Ray Ray

1.1.

la Variable Clock la Variable Clock

2.2.

Variables Dépendant de Clock et Variables Dépendant de Clock et Animations Multi-Etapes

Animations Multi-Etapes

3.3.

Le mot clé "Phase" Le mot clé "Phase"

4.4.

Fichiers INI Fichiers INI

(2)

la Variable Clock la Variable Clock

.ligne de commande : .ligne de commande : option+k

option+k

fichier INI : clock=3.4. fichier INI : clock=3.4.

par défaut clock= 0.0 par défaut clock= 0.0

un objet qui se un objet qui se déplace à vitesse déplace à vitesse

constante sur l'axe des constante sur l'axe des x. x.

exemple : +k3.4 exemple : +k3.4

translate <clock, translate <clock, 0, 0>

0, 0>

(3)

multiples changements multiples changements simultanément dans la simultanément dans la

même scène même scène

normaliser clock normaliser clock

balle rayée qui balle rayée qui roule de gauche à roule de gauche à droite

droite

sphère à l'originesphère à l'origine

tourne de 360 tourne de 360 degrés

degrés

=>360*clock

=>360*clock

translation pour translation pour placer la sphère à placer la sphère à son point de départ son point de départ

translation d'une translation d'une distance

distance

proportionnelle à proportionnelle à clock

clock

=>2*pi* r*clock

=>2*pi* r*clock

clock  clock  [0,1] [0,1]

#include "colors.inc"#include "colors.inc"

camera {location <0, 3, -6> look_at <0, camera {location <0, 3, -6> look_at <0, 0, 0> }

0, 0> }

light_source { <20, 20, -20> color light_source { <20, 20, -20> color White }

White } plane {y, 0 plane {y, 0

pigment { …}}

pigment { …}}

sphere {<0, 0, 0> , 1 sphere {<0, 0, 0> , 1

pigment {…}

pigment {…}

rotate <0, 0, -clock*360>

rotate <0, 0, -clock*360>

translate <-pi, 1, 0>

translate <-pi, 1, 0>

translate <2*pi*clock, 0, 0>

translate <2*pi*clock, 0, 0>

} }

(4)

Variables dépendant de Variables dépendant de

Clock et Animations Clock et Animations

Multi-Etapes Multi-Etapes

directives directives

conditionnelles de POV conditionnelles de POV – Ray pour tester clock – Ray pour tester clock pour déterminer quand pour déterminer quand on a atteint la moitié, on a atteint la moitié, puis commencer une puis commencer une nouvelle séquence nouvelle séquence dépendant d'une dépendant d'une

nouvelle horloge clock nouvelle horloge clock

Ex : clock de 0 à 2 Ex : clock de 0 à 2

La balle roule de La balle roule de

gauche à droite pour la gauche à droite pour la première moitié de

première moitié de l'animation, puis l'animation, puis

change de direction de change de direction de 135 degrés et roule de 135 degrés et roule de droite à gauche, et vers droite à gauche, et vers l'arrière de la scène

l'arrière de la scène

#if ( clock <= 1 )

#if ( clock <= 1 )

sphere { <0, 0, 0> , 1 sphere { <0, 0, 0> , 1

pigment {…}

pigment {…}

rotate <0, 0, -clock*360>

rotate <0, 0, -clock*360>

translate <-pi, 1, 0>

translate <-pi, 1, 0>

translate <2*pi*clock, 0, 0>}

translate <2*pi*clock, 0, 0>}

#else

#else

#declare ElseClock = clock - 1;

#declare ElseClock = clock - 1;

sphere { <0, 0, 0> , 1 sphere { <0, 0, 0> , 1

pigment {…}

pigment {…}

rotate <0, 0, ElseClock*360>

rotate <0, 0, ElseClock*360>

translate <-2*pi*ElseClock, 0, 0>

translate <-2*pi*ElseClock, 0, 0>

rotate <0, 45, 0>

rotate <0, 45, 0>

translate <pi, 1, 0>}

translate <pi, 1, 0>}

#end #end

(5)

mot clé

mot clé phase phase

Le mot clé Le mot clé phasephase peut être peut être utilise sur des éléments de utilise sur des éléments de

texture texture

(si application dans [0,1]) (si application dans [0,1])

Phase décale les valeurs de Phase décale les valeurs de couleur dans cette

couleur dans cette

application d'une valeur application d'une valeur

réelle spécifiée après réelle spécifiée après

"phase".

"phase".

Si clock dans [0,1], clock Si clock dans [0,1], clock peut remplacer la valeur peut remplacer la valeur

réelle associée avec phase, réelle associée avec phase, et le motif va continûment et le motif va continûment

changer pendant l'animation.

changer pendant l'animation.

Par exemple: Par exemple:

color_map { color_map {

[0.00 White ] [0.00 White ] [0.25 Blue ] [0.25 Blue ] [0.76 Green ] [0.76 Green ] [1.00 Red ] [1.00 Red ] }}

La valeur réelle au début de La valeur réelle au début de chaque crochet permet la chaque crochet permet la

transformation des valeurs transformation des valeurs

de couleur pour certaines de couleur pour certaines

zones des objets auxquels on zones des objets auxquels on

applique la texture.

applique la texture.

L'application prend ses L'application prend ses

valeurs dans l'intervalle 0 valeurs dans l'intervalle 0 à1.à1.

(6)

Exemple avec phase Exemple avec phase

#include "colors.inc"

#include "colors.inc"

#include "textures.inc"

#include "textures.inc"

background { … } background { … } camera {…}

camera {…}

light_source { … } light_source { … } //flagpole

//flagpole

cylinder {<-1.5, -4, 0>, <- cylinder {<-1.5, -4, 0>, <-

1.5, 2.25, 0>, 0.05 1.5, 2.25, 0>, 0.05

texture { Silver_Metal }}

texture { Silver_Metal }}

// polecap // polecap sphere {

sphere { <-1.5, 2.25, <-1.5, 2.25, 0>, 0.1

0>, 0.1

texture { Silver_Metal }}

texture { Silver_Metal }}

// flag // flag

polygon { polygon {

5, <0, 0>, <0, 1>, <1, 1>, <1, 5, <0, 0>, <0, 1>, <1, 1>, <1,

0>, <0,0>

0>, <0,0>

pigment { Blue } pigment { Blue }

normal {gradient x normal {gradient x

phase clock phase clock

scale <0.2, 1, 1> scale <0.2, 1, 1>

sine_wave} sine_wave}

scale <3, 2, 1>

scale <3, 2, 1>

translate <-1.5, 0, 0>

translate <-1.5, 0, 0>

} }

drapeau bleu avec un motif de gradient de normales, ondulation

(7)

Fichier .INI Fichier .INI

Initial_Frame et

Initial_Frame et Final_Frame

Final_Frame

permettent de permettent de calculer un certain nombre calculer un certain nombre de trames

de trames

pour faire varier clock , on pour faire varier clock , on utilise Initial_Clock et

utilise Initial_Clock et Final_Clock

Final_Clock

Si on ne veut recalculer que Si on ne veut recalculer que quelques trames, Subset

quelques trames, Subset fait aller clock avec des fait aller clock avec des valeurs proportionnelles valeurs proportionnelles

aux trames 1 à 100, mais en aux trames 1 à 100, mais en ne calculant que la partie ne calculant que la partie de la séquence de la 51 de la séquence de la 51

e e

à à 75 75

ee

trame. trame.

Exemple Exemple

Initial_Frame = 1 Initial_Frame = 1

Final_Frame = 100 Final_Frame = 100

Initial_Clock = 0.0 Initial_Clock = 0.0

Final_Clock = 2.0 Final_Clock = 2.0

Subset_Start_Frame = Subset_Start_Frame = 51 51

Subset_End_Frame =

Subset_End_Frame =

75 75

(8)

Exemple

Exemple monfichier.ini

Antialias=Of

Antialias_Threshold=0.1

Antialias_Depth=2

Input_File_Name=monfichier.pov

Initial_Frame=1

Final_Frame=30

Initial_Clock=0

Final_Clock=1

Cyclic_Animation=on

Pause_when_Done=of

(9)

Exemple Exemple

// lumière

light_source {<0, 5, -5>, rgb <1, 1, 1>}

// caméra

camera {location <0, 0, -5>look_at <0, 0, 0>}

// texte tournant

text {ttf "/chemin/bragga.TTF« "e-m@il« 0.25, <0, 0>

pigment {color rgb <0, 0.75, 0>} finish {specular 1}

scale 1

translate x*(-2)

rotate <0, clock*360, 0>

}

(10)

Exemple Exemple

// décor

union {box 1 box2 cylinder1 cylinder2 plane pigment

{ color…}}

//sujet qui change de couleur et de taille

sphere { <0, 1.5, 0>, 1

pigment { color rgb <1-clock, 0+clock, 1-clock/2>}}

//source de lumière qui tourne autour du sujet

light_source {<0, 5, -2>, rgb <1, 1, 1> spotlight radius 35 fallof 45

point_at <0, 0, 0> fade_distance 10 fade_power 1 rotate <0,

clock*360, 0>

}

// caméra qui s'approche lentement

camera { location <-5*clock+10,

Références

Documents relatifs

CSMA-CD Carrier Sense Multiple Access /Collision Detection: Algorithme CSMA-CD Si un coupleur veut émettre: a Il écoute le canal, si libre il émet tout en continuant à écouter b

permet de déclarer un objet r de la classe Rectangle, de construire le rectangle r de longueur 10 et de largeur 4. (on réserve l'espace de mémoire pour mémoriser les champs

Nous avons travaillé pendant neufs séances de 2h sur le projet de liaison routière entre Fos et Salon avec nos professeur-e-s et les animateurs-trices de

Public : personne adulte en situation de handicap, reconnue par l’AViQ ou susceptible de l’être, désireuse d’un accompagnement individuel dans l’emploi ou un projet

La position et l’orientation de chaque capteur sont utilisées ensuite pour faire mouvoir l’acteur digital. =&gt; synchronisation

En plus de la possibilité de coordonner de multiples aspects des changements en fonction du temps, l'autre bonne raison pour utiliser des valeurs normalisées de clock est qu'on

De même, si h = (0,£S*:T(1) -» T 0 ^ c m P } ) (où S*(0) - S - voir le diagramme 14 ), les sémantiques catégoriques de Zih) sont exactement les catégories C munies d'une

quelconques, le problème de la définition d’un objet sera le processus qui permet d’assigner une place non ambigüe au concept de cet objet dans une trame ou une