Moebius et animation

Pour toute demande d'aide sur des exemples non finalisés, c'est ici.
Les exemples aboutis et intéressants seront ajoutés aux sous-forums qui suivent.

Règles du forum
Pour toute demande d'aide pour la conception (ou la confirmation d'un code) d'une figure Asymptote, c'est ici.

J'invite ceux qui ont régulièrement des questions à poser à aller dans leur panneau de l'utilisateur pour indiquer dans la signature de leurs messages :

  1. Nom du système d'exploitation (W7 ou Ubuntu 12.04 ou ...)
  2. Version d'Asymptote et éditeur utilisé pour les figures Asymptote
  3. Distribution LaTeX et éditeur utilisé pour les tex.


On va gagner du temps dans les réponses !
OG
V.I.P.
V.I.P.
Messages : 142
Enregistré le : dim. 7 mars 2010, 22:27

Re: Moebius et animation

Message non lu par OG » mar. 15 juin 2010, 11:00

GM a écrit :Quel est l'impact de l'ajout suivant ?

Code : Tout sélectionner

render(compression=Zero,merge=true)

Je n'ai pas encore testé... mais je me demande s'il n'y a pas compression par défaut (et donc dégradation de la qualité de l'image que je propose ci-dessus) étant donné que je n'ai pas ajouté : compression=Zero, dans l'exemple de Maurice.


Je crois que cela n'affecte que la sortie PRC. C'est lié aux dernières nouveautés PRC,
fichiers PRC plus légers avec compression (avec perte).

J'ai testé la théière (teapot.asy)

Code : Tout sélectionner

draw(surface(Q),blue,render(compression=30,merge=false));

donnera une théière qui fuit tandis que

Code : Tout sélectionner

draw(surface(Q),blue,render(compression=30,merge=true));

donnera quelques imperfections au niveau des raccords entre les carreaux de Bézier.
Sur un tel exemple, la compression ne donne pas un gain réel. Il faudrait voir sur
des exemples plus complexes.
Par contre j'ai un petit souci avec PRC native Mesa
sur Ubuntu Lucid 6'4 bits, je suis obligé de mettre le PRC en mode "software".
Est-ce du au 64 bits, ma carte graphique ?


O.G.

maurice
Messages : 262
Enregistré le : jeu. 25 mars 2010, 13:00
Contact :

Re: Moebius et animation

Message non lu par maurice » mar. 15 juin 2010, 11:28

Bonjour,

Merci pour les astuces.
Je vais essayer de trouver les réglages qu'il faut entre deux copies de bac.
Le fichier .gif a été compiler directement avec asymptote 1.96 sous fedora13 et 64 bits.
Pas d'erreur de compilation.
Je fais des essais et j'envoie le tout.

Maurice.
Doc 3D
Si ça ne marche pas, essayez la version pdf

Fedora 23 -- Asymptote 2.35 -- TeXlive 2013 -- emacs et/ou gedit

Avatar du membre
chellier
Messages : 104
Enregistré le : jeu. 18 mars 2010, 17:30

Re: Moebius et animation

Message non lu par chellier » mar. 15 juin 2010, 11:44

OG a écrit :J'ai testé la théière (teapot.asy)

Code : Tout sélectionner

draw(surface(Q),blue,render(compression=30,merge=false));

donnera une théière qui fuit tandis que

Code : Tout sélectionner

draw(surface(Q),blue,render(compression=30,merge=true));

O.G.


Il me semblait que les valeurs que pouvaient prendre compression étaient :

Code : Tout sélectionner

// Useful lossy compression values.
restricted real Zero=0;
restricted real Low=0.0001;
restricted real Medium=0.001;
restricted real High=0.01;


Sinon, il est possible de donner d'autres valeurs ?

Christophe

OG
V.I.P.
V.I.P.
Messages : 142
Enregistré le : dim. 7 mars 2010, 22:27

Re: Moebius et animation

Message non lu par OG » mar. 15 juin 2010, 12:24

Merci pour les infos. Je ne suis pas allé voir plus loin, 30 ou une valeur supérieure à 1
n'est peut-être pas à faire.
Entre compression=0 et compression=High, un facteur 2 au niveau de la taille du fichier.

L'option merge=true a pour effet de ne faire qu'une seule surface plutôt qu'une succession
de carreaux de Bézier.

O.G.

Avatar du membre
chellier
Messages : 104
Enregistré le : jeu. 18 mars 2010, 17:30

Re: Moebius et animation

Message non lu par chellier » mar. 15 juin 2010, 15:34

OG a écrit :Par contre j'ai un petit souci avec PRC native Mesa
sur Ubuntu Lucid 6'4 bits, je suis obligé de mettre le PRC en mode "software".
Est-ce du au 64 bits, ma carte graphique ?

O.G.

Ça donne quel type de problème ça : PRC native Mesa ?
Je n'ai apparemment pas de problème sur Ubuntu Lucid 32 bits. (asymptote 1.99svn)

Par contre, à l'œil, je ne vois pas les différences entre compression=High et compression=Zero, ni même entre merge=true et merge=false...

Christophe

OG
V.I.P.
V.I.P.
Messages : 142
Enregistré le : dim. 7 mars 2010, 22:27

Re: Moebius et animation

Message non lu par OG » mar. 15 juin 2010, 15:44

Re

Pour être plus précis, c'est l'option 3D dans préférences d'AdobeReader il y a deux choix
pour preferredrenderer : 1) OpengL (mesa)
2) Software

Évidemment 1) est préférable et plus rapide.
Sur un portable 32 bits Lucid c'est ok, j'ai juste un petit pb sur mon pc fixe en 64 bits : ça plante
ou disons AdobeReader s'évapore.

Question oeil nu, ok je ne vois pas de différence non plus. Pour le merge={true,false}
en sélectionnant à la souris la théière tu constateras pour true que toute la théière est sélectionnée
alors que pour false tu sélectionnes des morceaux (correspondant aux carreaux de Bézier qui
définissent dans teapot.asy la surface).

O.G.

maurice
Messages : 262
Enregistré le : jeu. 25 mars 2010, 13:00
Contact :

Re: Moebius et animation

Message non lu par maurice » mar. 15 juin 2010, 18:56

Voici le code final :

Code : Tout sélectionner

//Ruban Moëbius avec Asymptote 1.96

import graph3;
import animate;

settings.tex="pdflatex";
settings.outformat="pdf";
settings.render=2; // à commenter si besoin

currentprojection=orthographic(5,18,10);
currentlight=light((15,-25,-5),(-15,15,5));

//Taille de l'image
size(12cm,0);

//Fonction paramétrique
int k=1;
int n=18;
triple f(pair z) {return ((2+z.x*cos(k*z.y))*cos(2*z.y), (2+z.x*cos(k*z.y))*sin(2*z.y), z.x*sin(k*z.y));}

//Ruban de Moëbius
surface s=surface(f,(-1,0),(1,pi),25,50);
draw(s,blue);

//Animation
animation A;
real pas=pi/(2*n);

for (int i=0; i<2*n; i+=1) {
   save();
   pair a,b,c,d;
        a=(1,i*pi/n+pas);
        b=(1,i*pi/n-pas);
        c=(-1,i*pi/n-pas);
        d=(-1,i*pi/n+pas);
   path3 plan=f(a)--f(b)--f(c);
   path3 p=f(a)--f(b)--f(c)--f(d)--cycle;
   triple norm=normal(plan);
   transform3 t=shift(0.04*norm);
   path3 p1=t*p;
   path3 p2=(inverse(t))*p;
   draw(surface(p1),red,nolight);
   draw(surface(p2),yellow,nolight);
   A.add();
   restore();
}
A.movie(delay=500);
//label(A.pdf(BBox(1mm,nullpen),delay=500,"controls,loop"));


Merci à tous.

Maurice
Doc 3D
Si ça ne marche pas, essayez la version pdf

Fedora 23 -- Asymptote 2.35 -- TeXlive 2013 -- emacs et/ou gedit

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: Moebius et animation

Message non lu par GM » mar. 15 juin 2010, 20:15

GM a écrit :et problème :

Code : Tout sélectionner

C:\Program Files (x86)\Asymptote/animation.asy: 85.15: merge failed

La version d'ImageMagick de Cygwin était trop vieille : j'en ai installé une version windows : tout est rentré dans l'ordre.

Je ne réagis pas aux autres messages relatifs à compression, car je n'ai encore rien testé sérieusement pour comparer.
Il faudra peut-être ouvrir un sujet sur le forum à ce propos... pour expliquer les différences... et faciliter des explications à de futurs débutants.

D'un côté, c'est génial d'avoir plein d'options de compilation... et d'un autre : c'est la jungle pour celui qui débute. :mrgreen:
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

Avatar du membre
chellier
Messages : 104
Enregistré le : jeu. 18 mars 2010, 17:30

Re: Moebius et animation

Message non lu par chellier » mar. 15 juin 2010, 20:54

GM a écrit :D'un côté, c'est génial d'avoir plein d'options de compilation... et d'un autre : c'est la jungle pour celui qui débute. :mrgreen:

C'est sûr qu'il faut être un minimum motivé pour débuter avec asymptote :mrgreen:

Merci Maurice pour ces exemples toujours intéressants 8-)

Christophe

OG
V.I.P.
V.I.P.
Messages : 142
Enregistré le : dim. 7 mars 2010, 22:27

Re: Moebius et animation

Message non lu par OG » jeu. 17 juin 2010, 08:19

Bonjour

Pour information, le problème d'animation avec "projection=perspective(...)"
a été corrigé. Cela fonctionne depuis ce matin et la version SVN du jour.

O.G.

Répondre