Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédente | |||
python-visual [Le 16/01/2011, 14:31] – ajout d'une image troisseize | python-visual [Le 13/04/2017, 11:32] (Version actuelle) – tags L'Africain | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | |||
+ | ====== python-visual ====== | ||
+ | |||
+ | python-visual, | ||
+ | |||
+ | ===== Pré-requis ===== | ||
+ | |||
+ | * Disposer des [[: | ||
+ | * Disposer d'une connexion à Internet configurée et activée. | ||
+ | * Avoir les pilotes de sa [[: | ||
+ | |||
+ | ===== Installation ===== | ||
+ | |||
+ | Il suffit d' | ||
+ | |||
+ | Pour les versions précédentes d' | ||
+ | |||
+ | ===== Utilisation ===== | ||
+ | |||
+ | Visitez le [[http:// | ||
+ | |||
+ | Pour démarrer avec un [[http:// | ||
+ | |||
+ | < | ||
+ | from visual import * | ||
+ | |||
+ | floor = box (pos=(0, | ||
+ | ball = sphere (pos=(0, | ||
+ | ball.velocity = vector(0, | ||
+ | dt = 0.01 | ||
+ | |||
+ | while 1: | ||
+ | rate (100) | ||
+ | ball.pos = ball.pos + ball.velocity*dt | ||
+ | if ball.y < ball.radius: | ||
+ | ball.velocity.y = abs(ball.velocity.y) | ||
+ | else: | ||
+ | ball.velocity.y = ball.velocity.y - 9.8*dt | ||
+ | </ | ||
+ | |||
+ | Ouvrez ensuite une [[: | ||
+ | < | ||
+ | python balle.py | ||
+ | </ | ||
+ | |||
+ | Vous devriez voir apparaître une nouvelle fenêtre contenant l' | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ===== Exporter au format vidéo en passant par pov===== | ||
+ | |||
+ | python-visual ne supporte pas de fonctionnalité pour exporter votre animation en fichier vidéo. Afin de remédier à ce problème, il existe une solution consistant à : | ||
+ | * Exporter la scène courante de l' | ||
+ | * Convertir chacun des fichiers '' | ||
+ | * Assembler toutes les images obtenues en une vidéo '' | ||
+ | |||
+ | ==== Téléchargement du module Python povexport.py ===== | ||
+ | |||
+ | povexport est une module Python disponible sur le site [[http:// | ||
+ | |||
+ | Après décompression de l' | ||
+ | |||
+ | * povexport.py | ||
+ | * povexample.py | ||
+ | * povexample_wood.py | ||
+ | |||
+ | C'est bien entendu le premier fichier, '' | ||
+ | |||
+ | ==== Installation de l' | ||
+ | |||
+ | Il suffit d' | ||
+ | |||
+ | ==== Écriture du nouveau script VPython ===== | ||
+ | |||
+ | Reprenons notre script d' | ||
+ | |||
+ | < | ||
+ | from visual import * | ||
+ | import povexport | ||
+ | import os | ||
+ | |||
+ | #creating a directory for stocking *.pov files | ||
+ | pov_output = ' | ||
+ | if not os.path.isdir(pov_output): | ||
+ | os.mkdir(pov_output) | ||
+ | |||
+ | #necessary when exporting to pov file to capture all the scene | ||
+ | scene.range = 7 | ||
+ | |||
+ | floor = box (pos=(0, | ||
+ | ball = sphere (pos=(0, | ||
+ | ball.velocity = vector(0, | ||
+ | dt = 0.01 | ||
+ | |||
+ | for image_num in range(100): | ||
+ | rate (100) | ||
+ | ball.pos = ball.pos + ball.velocity*dt | ||
+ | if ball.y < ball.radius: | ||
+ | ball.velocity.y = abs(ball.velocity.y) | ||
+ | else: | ||
+ | ball.velocity.y = ball.velocity.y - 9.8*dt | ||
+ | |||
+ | #exporting to pov file | ||
+ | basename = ' | ||
+ | filename = os.path.join(pov_output, | ||
+ | povexport.export(filename=filename) | ||
+ | print filename | ||
+ | </ | ||
+ | |||
+ | Après avoir vérifié que le fichier '' | ||
+ | |||
+ | < | ||
+ | python balle_video.py | ||
+ | </ | ||
+ | |||
+ | va créer 100 fichiers balleXXX.png dans le sous-répertoire '' | ||
+ | |||
+ | ==== Création des fichiers images png ===== | ||
+ | |||
+ | Déplacez vous dans le répertoire '' | ||
+ | |||
+ | < | ||
+ | cd pov_output | ||
+ | </ | ||
+ | |||
+ | La syntaxe pour créer un fichier image '' | ||
+ | |||
+ | < | ||
+ | povray +Oballe000.png balle000.pov | ||
+ | </ | ||
+ | |||
+ | Afin de traiter les 100 fichiers en une seule commande, on va utiliser une boucle. (voir ce [[: | ||
+ | |||
+ | < | ||
+ | for file in *.pov; do povray +O${file%.pov}.png $file; done | ||
+ | </ | ||
+ | |||
+ | qui a créer 100 fichiers png. | ||
+ | |||
+ | ==== Création du fichier image avi ===== | ||
+ | |||
+ | Nous pouvons maintenant encoder les fichiers images '' | ||
+ | |||
+ | < | ||
+ | mencoder mf://*.png -mf w=320: | ||
+ | </ | ||
+ | |||
+ | et visualiser la vidéo créée à l'aide d'un [[: | ||
+ | |||
+ | ===== Désinstallation ===== | ||
+ | |||
+ | Pour supprimer cette application, | ||
+ | |||
+ | =====Voir aussi===== | ||
+ | |||
+ | * [[http:// | ||
+ | |||
+ | ---- | ||
+ | |||
+ | // | ||