[Résolu] Bugs de visualisation d'une animation 3D

Tout ce qui concerne l'utilisation ou l'installation d'Asymptote.

Modérateur: gdm_asy

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

[Résolu] Bugs de visualisation d'une animation 3D

Messagepar Grizz » Dimanche 27 Mars 2011, 18:29

Bonjour
Désirant réaliser une animation 3D pour mes cours de géométrie dans l'espace, et comme j'apprends surtout par l'exemple (et avec la doc de maurice un peu quand même, bravo au passage), hop zou direction "LA" galerie. De GM of course. Je copie le code de la génération du cône, je compile, et voilà-t-y-pas que j'obtiens le cône (dont l'animation fonctionne à merveille) MAIS avec au dessus la moitié de l'image du cône à la dernière étape.
Me suis-je bien fait comprendre? J'en doute.
J'édite une petite image dès que je serai habilité à en joindre une.

J'ai le même problème avec le même code, que j'ai modifié pour générer un cylindre.
À ceux qui auraient compris ce que je veux dire, merci de vos lumières. C'est assez moche.

Mais pour une autre animation de ma confection, je n'ai pas ce problème. En revanche, j'ai un bug graphique lors d'une ou plusieurs étapes de l'animation : une partie de mon fond d'écran qui apparaît puis disparaît. Clair?
Mouais, image aussi.

C'est la carte graphique, docteur?

Merci à tous.
Cédric
Dernière édition par Grizz le Dimanche 27 Mars 2011, 20:28, édité 1 fois.
Grizz
Déca-utilisateur
 
Messages: 45
Inscription: Mardi 08 Décembre 2009, 09:48
Localisation: Angoulême
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: Bugs de visualisation d'une animation 3D

Messagepar maurice » Dimanche 27 Mars 2011, 19:21

Grizz a écrit:Bonjour
Désirant réaliser une animation 3D pour mes cours de géométrie dans l'espace, et comme j'apprends surtout par l'exemple (et avec la doc de maurice un peu quand même, bravo au passage)


Y'a pas de problème, il ya de grandes chances ce ce soit à moi qu'elle serve le plus ...


Grizz a écrit:hop zou direction "LA" galerie. De GM of course. Je copie le code de la génération du cône, je compile, et voilà-t-y-pas que j'obtiens le cône (dont l'animation fonctionne à merveille) MAIS avec au dessus la moitié de l'image du cône à la dernière étape.
Me suis-je bien fait comprendre? J'en doute.


Désolé je n'ai pas compris.


Grizz a écrit:Mais pour une autre animation de ma confection, je n'ai pas ce problème. En revanche, j'ai un bug graphique lors d'une ou plusieurs étapes de l'animation : une partie de mon fond d'écran qui apparaît puis disparaît. Clair?
Mouais, image aussi.


Clair ! Problème effectivement de carte graphique. Pour palier ce problème, on peut compiler avec l'option -V puis exporter ou bien bien augmenter la valeur de -render=4, 6, 8, ... ou encore essayer avec l'option −glOptions=−indirect ... (p11-12 de la doc :wink: )
Le problème c'est que c'est pour une image mais pour une animation ...
c'est plus complexe.


Maurice

PS : Je viens de compiler la génération du cône avec pour dernière ligne :

Code: Tout sélectionner
A.movie()


sans problème

Par contre avec

Code: Tout sélectionner
 label(A.pdf(BBox(1mm,nullpen),delay=500,"controls,loop"));


Je retrouve ton problème don voici une capture d'écran. pas d'idées pour le moment.
Capture-2.png
Asymptote :
----> Démarrage rapide : http://cgmaths.fr/Atelier/Asymptote/Asymptote.html
----> Documentation 3D : http://www.mathco.tuxfamily.org et si ça ne marche pas, essayez la version pdf
maurice
Méga-utilisateur
 
Messages: 399
Inscription: Jeudi 25 Mars 2010, 13:49
Statut actuel: Actif et salarié | Enseignant

Re: Bugs de visualisation d'une animation 3D

Messagepar Grizz » Dimanche 27 Mars 2011, 19:30

Merci pour l'image qui parle plus que mon charabia précédent. Voilà donc le problème.
Avec A.movie() effectivement je n'ai pas le problème, mais comment animer avec Adobe Reader? Avec un autre outil de visualisation?

Pour le second, je vais essayer les différentes options de compilation. Mais je compile déjà avec -V -render=4. D'ailleurs c'est bien dans ta doc que j'ai compris à quoi servaient ces différentes options.

Merci en tout cas.

Cédric
Grizz
Déca-utilisateur
 
Messages: 45
Inscription: Mardi 08 Décembre 2009, 09:48
Localisation: Angoulême
Statut actuel: Actif et salarié | Enseignant

Re: Bugs de visualisation d'une animation 3D

Messagepar GMaths » Dimanche 27 Mars 2011, 19:33

Confirmation du problème quand on remplace

Code: Tout sélectionner
A.movie()

(qui a produit l'image de la galerie)
par
Code: Tout sélectionner
label(A.pdf(BBox(1mm,nullpen),delay=500,"controls,loop"));


Merci d'avoir signalé le problème.

Je n'ai pas non plus spontanément l'explication : mais je vais y réfléchir... et corriger l'exemple de la galerie quand le bogue sera identifié.

A propos de cône, j'ai justement eu à créer cela aujourd'hui. Je le mettrai plus tard en ligne, si c'est utile à quelqu'un.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: Bugs de visualisation d'une animation 3D

Messagepar guiguiche » Dimanche 27 Mars 2011, 19:37

Grizz a écrit:J'édite une petite image dès que je serai habilité à en joindre une.

Done
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
guiguiche
Modérateur
 
Messages: 8071
Inscription: Vendredi 06 Janvier 2006, 15:32
Localisation: Le Mans
Statut actuel: Actif et salarié | Enseignant

Re: Bugs de visualisation d'une animation 3D

Messagepar GMaths » Dimanche 27 Mars 2011, 19:40

GMaths a écrit:Confirmation du problème quand on remplace

Code: Tout sélectionner
A.movie()

(qui a produit l'image de la galerie)
par
Code: Tout sélectionner
label(A.pdf(BBox(1mm,nullpen),delay=500,"controls,loop"));


Merci d'avoir signalé le problème.

Je n'ai pas non plus spontanément l'explication : mais je vais y réfléchir... et corriger l'exemple de la galerie quand le bogue sera identifié.


Une solution temporaire rapide : rajouter la commande erase(); juste avant la commande "label" finale.
Mais je vais revoir le code pour avoir une solution plus élégante.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: Bugs de visualisation d'une animation 3D

Messagepar maurice » Dimanche 27 Mars 2011, 19:55

Grizz a écrit:Merci pour l'image qui parle plus que mon charabia précédent. Voilà donc le problème.
Avec A.movie() effectivement je n'ai pas le problème, mais comment animer avec Adobe Reader? Avec un autre outil de visualisation?


Il existe un outils qui permet de transformer le multi-page pdf généré par asymptote en Adobe Flash files (SWF files) qui s'appelle swftools dont m'avais parlé Gaétan.

Il existe pour windows et linux (malheureusement pas dans les dépots chez fédora).

Voila.

Maurice

édit : La solution de Gaétan marche très bien aussi
Asymptote :
----> Démarrage rapide : http://cgmaths.fr/Atelier/Asymptote/Asymptote.html
----> Documentation 3D : http://www.mathco.tuxfamily.org et si ça ne marche pas, essayez la version pdf
maurice
Méga-utilisateur
 
Messages: 399
Inscription: Jeudi 25 Mars 2010, 13:49
Statut actuel: Actif et salarié | Enseignant

Re: Bugs de visualisation d'une animation 3D

Messagepar GMaths » Dimanche 27 Mars 2011, 19:59

maurice a écrit:
Grizz a écrit:Merci pour l'image qui parle plus que mon charabia précédent. Voilà donc le problème.
Avec A.movie() effectivement je n'ai pas le problème, mais comment animer avec Adobe Reader? Avec un autre outil de visualisation?


Il existe ...


Qu'il essaye d'abord l'ajout de erase(); !
Cela doit être suffisant pour une animation dans un pdf.
Maintenant pour obtenir un swf, effectivement on pensera aux swftools, que j'utilise pour la création des fichiers swf qui sont en ligne.

GM a écrit:... quand le bogue sera identifié.


Je précise que je parlais de bogue de mon script : il n'y a pas de dysfonctionnement d'Asymptote.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: Bugs de visualisation d'une animation 3D

Messagepar Grizz » Dimanche 27 Mars 2011, 20:27

Bien entendu la solution de Gaëtan fonctionne. Élégante ou non, cela n'est pas à moi de juger.
J'irai voir du côté de chez swftools quand j'aurai le temps, mais il est vrai que je préfère la solution avec
Code: Tout sélectionner
label(A.pdf(BBox(1mm,nullpen),delay=500,"controls,loop"));

qui donne les boutons de contrôle.

Merci à maurice aussi pour −glOptions=−indirect qui enlève mes autres problèmes d'affichage.
Il faudra un jour que je songe à éplucher les docs plutôt que de perdre des heures à essayer de trouver par moi-même, ou de ré-inventer la roue. J'en connais un autre qui est très fort pour ça sur ce forum :wink:

Merci encore à tous.
Bonne soirée.

Cédric
Grizz
Déca-utilisateur
 
Messages: 45
Inscription: Mardi 08 Décembre 2009, 09:48
Localisation: Angoulême
Statut actuel: Actif et salarié | Enseignant

Re: Bugs de visualisation d'une animation 3D

Messagepar maurice » Dimanche 27 Mars 2011, 20:44

Bonsoir,

GMaths a écrit:Qu'il essaye d'abord l'ajout de erase(); !
Cela doit être suffisant pour une animation dans un pdf.
Maintenant pour obtenir un swf, effectivement on pensera aux swftools, que j'utilise pour la création des fichiers swf qui sont en ligne.


Je pensais à une dernière option :

Code: Tout sélectionner
asy -f gif cone_anim.asy


mais ces problèmes de fonds d'écran qui apparaissent sur certaines images dont parlait Grizz ...
Les images de ton sites n'ont pas ce problèmes. Y-a-t-il une recette magique pour éviter ce problème ?

Maurice

Une idée en lisant le message de grizz -GlOption= indirect ?
Asymptote :
----> Démarrage rapide : http://cgmaths.fr/Atelier/Asymptote/Asymptote.html
----> Documentation 3D : http://www.mathco.tuxfamily.org et si ça ne marche pas, essayez la version pdf
maurice
Méga-utilisateur
 
Messages: 399
Inscription: Jeudi 25 Mars 2010, 13:49
Statut actuel: Actif et salarié | Enseignant

Re: [Résolu] Bugs de visualisation d'une animation 3D

Messagepar GMaths » Dimanche 27 Mars 2011, 21:19

maurice a écrit:mais ces problèmes de fonds d'écran qui apparaissent sur certaines images dont parlait Grizz ...
Les images de ton sites n'ont pas ce problèmes. Y-a-t-il une recette magique pour éviter ce problème ?


Pour mon site, je crée des pdf multipages avec asymptote
et c'est un script derrière qui fait le boulot, avec d'autres outils.

-----

Pour le problème du fond d'écran comme tu dis, si on veut des boutons, l'animation s'ajoute comme un label...
... sur une currentpicture vide, si tu ne veux que l'animation !
Pour cela, il faut un erase juste avant ou tout dessiner dans une "picture" sans rien ajouter à "currentpicture".

C'est pas mal ce fonctionnement d'animation vue comme un label, car cela permet d'ajouter une animation avec boutons, à côté d'une image fixe si on le souhaite.

Pourquoi n'y a t-il pas de problème avec A.movie(), sans avoir vidé la currentpicture ? Car le procédé est totalement différent : cf différences dans animation.asy.

-----------

Pour la galerie :
il faut juste que je pense à ajouter de préciser qu'il faut parfois un erase(); supplémentaire dans certains exemples, où la currentpicture a servi d'image temporaire pour la création des images de l'animation.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: [Résolu] Bugs de visualisation d'une animation 3D

Messagepar GMaths » Dimanche 27 Mars 2011, 22:48

Une version réactualisée (de ce script qui datait de 3 ans).

Améliorations principales :
  • utilisation de deux "pictures", en laissant la currentpicture vide ;
  • une boucle for avec variable entière : c'est mieux.

Code: Tout sélectionner
import three;
import animate;
settings.tex="pdflatex";
settings.outformat="pdf";
settings.render=0;

currentprojection=orthographic(1,0.5,0.5);

real   h=2, abscurv;
triple pO=(0,0,0), pS =(0,0,2h), pA=(h,0,0),
       pB=(0,h,0), pC=(-h,0,0), pD=(0,-h,0);
path3  basegras,base=pA..pB..pC..pD..pA, generatrice;

animation A;

picture pic;
size(pic,7.5cm,0);

dot(pic,"$S$",pS,align=N);
dot(pic,"$A$",pA,align=S); dot(pic,"$B$",pB,align=SE);
dot(pic,"$C$",pC,align=NE); dot(pic,"$D$",pD,align=NW);
draw(pic,pA--pS--pC^^pB--pS--pD);
draw(pic,pA--pC^^pB--pD,linetype("4 4")+grey);
draw(pic,base,grey+white);
draw(pic,(0.2h,0,2.1h)..(0,0.2h,2.1h)..(-0.2h,0,2.1h)..(0,-0.2h,2.1h),
      linetype("8 4")+.8bp+blue,Arrow3());

int n=90;     
     
for(int k=0; k<n; ++k) {
  abscurv = length(base)*k/n;
  generatrice=pS--point(base,abscurv);
  draw(pic,generatrice,grey+yellow);
  picture pic2=pic.copy();
  draw(pic2,pO--generatrice--cycle,1.5bp+grey);
  basegras=basegras..point(base,abscurv);
  draw(pic2,basegras,1bp+grey);
  A.add(pic2);
}

label(A.pdf(BBox(1mm,Fill(paleblue+white)),delay=100,"controls,loop"));


cone.pdf
(436 Kio) Téléchargé 102 fois
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant


Retourner vers Asymptote

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 7 invités