A la demande pressante de mon fils Nicolas, j'ai vite torché quelques explications sur une façon de faire des animations àlc avec POV et un peu de scriptage. La méthode canonique consiste en l'utilisation des fonctionnalitées ad-hoc de POV, mais ne les utilisant pas, je ne les connais pas. L'autre méthode consiste à piloter povray à partir d'un script écrit dans un langage quelconque. Nicolas parlant le fourchelangue, nous allons utiliser Python.
Restons simple. Juste un plan de sol, une caméra, quelques lumières et un objet qui va bouger. Nous utilisons la variable clock, prédéfinie par pov à partir de la valeur donnée à l'option +k de la ligne de commande.
#include "colors.inc" box { <-1, -1, -1>, <1, 1, 1> pigment { color White } rotate <clock, clock/2, clock/3> } plane { y, 0 pigment { color Gray30 } } camera { location <-10, 4, -2> look_at <0, 0, 0> angle 30 } light_source { <-5, 15, 4> color Orange } light_source { <-15, 15, -5> color Blue }
Le principe est simple: nous allons, dans une boucle, confectionner une ligne de commande pour povray où le nom de l'image de destination et l'option +k seront basés sur l'indice de la boucle.
#!/usr/bin/env python import os options = " +w180 +h135 +q9 +a -d -v " source = "toto.pov" povray = "/home/tth/MyLocal/bin/povray" for valeur in range(0,180): destination = " -ototo%03d.png" % valeur horloge = " +k%d " % valeur foo = destination + options + horloge commande = povray + " -i"+source + foo print commande os.system(commande)
Pour le nom de l'image résultante, nous allons utiliser le format %03d afin que la numérotation soit de la forme 000 001 002 ... 041 041 ... 665 665, ce qui facilite bien la vie dans les étapes ultérieures. N'est-ce pas monsieur Léon ?
Je connais deux solutions: convert pour faire des Gifs animées, et mencoder pour faire les .AVI que c'est le br*nx à paramétrer. Hélas, la marge de cette page est trop petite pour d'autres explications. Bon courage à ceux qui tenteront de lire ma manpage de mencoder.
Voilà, c'est fait un petit peu trop à la rache, mais le résultat est là. Nicolas a maintenant un peu de grain à moudre, et il va bientôt vous présenter ses propres productions animatiques. |
![]() |