[Résolu] Picture et 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] Picture et 3D

Messagepar dmalik » Mardi 03 Février 2009, 17:59

Je cherche à dessiner plusieurs figures 3d avec le module slide.
Des constantes existent dans le dessin qui apparait sur chaque diapo.
J'ai bien vu l'exemple de l'intersection du cube de G. Marris.
J'essaye comme lui d'utiliser "picture" et ses différentes copies pour les compléter ou modifier.
Mais la philosophie du truc m'échappe !
Soit un exemple simple :

Code: Tout sélectionner
\documentclass{article}
\usepackage{asymptote}
\begin{document}
Debut de la figure\\
\begin{asy}
settings.prc=false;
import graph3;
currentprojection=orthographic(4,6,3);
//picture pic;
size(0,200);
size3(200,IgnoreAspect);
//real x(real t) {return cos(2pi*t);}
//real y(real t) {return sin(2pi*t);}
//real z(real t) {return t;}
//path3 p=graph(x,y,z,0,2.7,operator ..);
//draw(p,Arrow3);
scale(true);

xaxis3(XZ()*"$x$",Bounds(),red,InTicks(Label,2,2));
yaxis3(YZ()*"$y$",Bounds(),red,InTicks(beginlabel=false,Label,2,2));
zaxis3(XZ()*"$z$",Bounds(),red,InTicks);
//add(pic.fit(10cm));
\end{asy}
\\
fin de la figure
\end{document}


Il affiche bien un dessin mais pas tout !

Mais pas celui-ci

Code: Tout sélectionner
\documentclass{article}
\usepackage{asymptote}
\begin{document}
Debut de la figure \\
\begin{asy}
settings.prc=false;
import graph3;
currentprojection=orthographic(4,6,3);
picture pic;
size(pic,0,200);
size3(pic,200,IgnoreAspect);
//real x(real t) {return cos(2pi*t);}
//real y(real t) {return sin(2pi*t);}
//real z(real t) {return t;}
//path3 p=graph(x,y,z,0,2.7,operator ..);
//draw(p,Arrow3);
scale(true);

xaxis3(pic,XZ()*"$x$",Bounds(),red,InTicks(Label,2,2));
yaxis3(pic,YZ()*"$y$",Bounds(),red,InTicks(beginlabel=false,Label,2,2));
zaxis3(pic,XZ()*"$z$",Bounds(),red,InTicks);
add(pic.fit(10cm));
\end{asy}
\\
fin de la figure
\end{document}


Merci pour vos lumières !
Daniel
Dernière édition par dmalik le Jeudi 05 Février 2009, 18:41, édité 2 fois.
dmalik
Déca-utilisateur
 
Messages: 18
Inscription: Dimanche 07 Octobre 2007, 21:28
Statut actuel: Lycée | Terminale ES

Publicité

Re: Asymptote picture et 3D

Messagepar OG » Mardi 03 Février 2009, 20:40

Bonsoir

Il faudrait un peu plus d'explications. Les deux exemples de code sont identiques et produisent un dessin 3D ne contenant que les axes (normal les autres commandes commencent par // donc commentaires) : est-ce cela que tu appelles "mais pas tout" ?

Cordialement,
O.G.
OG
Modérateur
 
Messages: 2285
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence

Re: Asymptote picture et 3D

Messagepar dmalik » Mardi 03 Février 2009, 22:52

les // sont là pour en faire le moins possible pour un essai.

Chez moi il n'y a que le premier qui donne un dessin avec la commande :

Code: Tout sélectionner
pdflatex fichier
asy fichier
pdflatex fichier


sous ubuntu et asymptote 1.60
merci de ta réponse qui m'étonne

Daniel
dmalik
Déca-utilisateur
 
Messages: 18
Inscription: Dimanche 07 Octobre 2007, 21:28
Statut actuel: Lycée | Terminale ES

Re: Asymptote picture et 3D

Messagepar dmalik » Mardi 03 Février 2009, 23:48

j'ai simplifié mon exemple.asy. un fichier compilé par asy exemple.
Celui ci marche : il m'affiche le repère correctement

Code: Tout sélectionner
settings.outformat="pdf";
settings.prc=false;
import graph3;
size(12cm,0);
size3(12cm,IgnoreAspect);
currentprojection=orthographic(-10,-10,200);
limits((0,0,0),(10,10,300));
xaxis3(Label("$x$",position=MidPoint,align=SE),OutTicks(Step=2));
yaxis3(Label("$y$",position=MidPoint,align=SW),OutTicks(Step=2));
zaxis3(Label("$z$",position=EndPoint,align=3N+E),Bounds(Min,Max),InTicks(Step=100,Label(align=Y)));


Je cherche à mettre cette figure dans ma variable repere que j'appelle rep

Code: Tout sélectionner
settings.outformat="pdf";
settings.prc=false;
import graph3;

picture rep;
size(12cm,0);
size3(12cm,IgnoreAspect);

currentprojection=orthographic(-10,-10,200);
limits((0,0,0),(10,10,300));
xaxis3(rep,Label("$x$",position=MidPoint,align=SE),OutTicks(Step=2));
yaxis3(rep,Label("$y$",position=MidPoint,align=SW),OutTicks(Step=2));
zaxis3(rep,Label("$z$",position=EndPoint,align=3N+E),Bounds(Min,Max),InTicks(Step=100,Label(align=Y)));

add(rep.fit(12cm));


Ca ne marche pas ! je dépasse les bornes ! la réponse de asy est :

warning: x scaling in picture unbounded


merci
Daniel
dmalik
Déca-utilisateur
 
Messages: 18
Inscription: Dimanche 07 Octobre 2007, 21:28
Statut actuel: Lycée | Terminale ES

Re: Asymptote picture et 3D

Messagepar OG » Mercredi 04 Février 2009, 14:10

Bonjour

De rien pour la réponse qui étonne. Je n'avais pas vu ce add(fit());.

Je ne sais pas ce qui sera le plus rapide.

1) pour répéter un même code tu peux toujours définir une fonction qui contient ce code.
2) (j'avoue qu'il y a des subtilités asymptotiquement difficiles à comprendre pour moi, il doit y avoir une mise à l'échelle derrière tout cela et qui explique pourquoi rep.fit() ne marche pas)

Code: Tout sélectionner
limits(rep,(0,0,0),(10,10,300)); // pour spécifier les intervalles pour "picture rep"
add(rep); //oublie le rep.fit() !


a l'air de donner le résultat voulu.

J'espère que cela t'aidera.

O.G.
OG
Modérateur
 
Messages: 2285
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence

Re: [resolu] Asymptote picture et 3D

Messagepar dmalik » Jeudi 05 Février 2009, 18:41

OK ca marche !
merci
dmalik
Déca-utilisateur
 
Messages: 18
Inscription: Dimanche 07 Octobre 2007, 21:28
Statut actuel: Lycée | Terminale ES


Retourner vers Asymptote

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

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