[Résolu] Placement de grilles et lignes de niveaux

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] Placement de grilles et lignes de niveaux

Messagepar evariste_G » Lundi 10 Octobre 2011, 14:36

Bonjour.
J'ai décidé de me mettre à Asymptote car pour dessiner des surfaces, ça m'avait l'air intéressant.
Cependant, je n'arrive pas à comprendre comment je pourrais, sur l'exemple suivant, placer les grilles derrière la surface dessinée.
De plus, les lignes de niveaux ne se dessinent pas et je ne vois pas pourquoi ...

Code: Tout sélectionner
\documentclass[12pt]{article}
% Base
\usepackage{etex}
\usepackage[frenchb]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{asymptote}
\begin{document}
\begin{asy}
import graph3;
import contour;
import grid3;
import palette;

size(8cm,IgnoreAspect);

currentprojection=orthographic(-10,-10,8);
limits((0,0,0),(120,100,160));

real f(pair z) {return sqrt(2*z.x*z.y);}

real[] lignesniveaux={10,20,30,40,50,60,70,80,90,100,110,120,130,140,150};

surface s=surface(f,(0,0),(120,100),50,Spline);

draw(s,mean(palette(s.map(zpart),Rainbow())),black);

grid3(XYZgrid,Step=20);

xaxis3(Label("$x$",position=MidPoint,align=SE),
       Bounds(Min,Min),
       OutTicks(Step=20));
yaxis3(Label("$y$",position=MidPoint,align=SW),
       Bounds(Min,Min),
       OutTicks(Step=20));
zaxis3(Bounds(Max,Both),OutTicks(Step=20));
zaxis3(Label("$z$",position=EndPoint,align=N+W),
       XYEquals(0,100),
       InTicks(beginlabel=false,endlabel=false,Label(align=Y))
       );
draw(lift(f,contour(f,(0,0),(120,100),lignesniveaux)),1bp+red);
\end{asy}
\end{document}


surface.jpg
Dernière édition par evariste_G le Lundi 10 Octobre 2011, 19:58, édité 1 fois.
Mathématiques, LaTeX et Python : http://www.mathweb.fr
Cours particuliers de maths et de NSI : https://cours-particuliers-bordeaux.fr/
evariste_G
Téra-utilisateur
 
Messages: 1425
Inscription: Vendredi 19 Décembre 2008, 19:13
Localisation: Bordeaux
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: Placement de grilles et lignes de niveaux

Messagepar GMaths » Lundi 10 Octobre 2011, 17:26

Bonjour

Avec ton instruction de grid3, les grilles sont tracées dans les plans d'équation x=0, y=0 et z=0 par défaut.
Et compte tenu de ton angle de vue... les plans x=0 et y=0 sont au premier plan.

Il faut procéder à un réglage particulier de chaque grille :

Code: Tout sélectionner
grid3(gridroutine=XYXgrid(),Step=20);
grid3(gridroutine=XZXgrid(pos=Relative(1)),Step=20,step=10);
grid3(gridroutine=YZYgrid(pos=Relative(1)),Step=20,step=5);


... ou créer une nouvelle commande pour le faire automatiquement... suivant les valeurs passées pour currentprojection.

---------------

Tu demandes beaucoup, beaucoup de lignes de niveau : cela doit ramer.

Si tu en demandes beaucoup moins, tu ne les vois pas apparaitre ?
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: Placement de grilles et lignes de niveaux

Messagepar evariste_G » Lundi 10 Octobre 2011, 19:57

Merci. Cela fonctionne comme ça.
Il est vrai que la compilation prenait bien longtemps, et je ne comprenais pas ... Maintenant, je comprends.
Mathématiques, LaTeX et Python : http://www.mathweb.fr
Cours particuliers de maths et de NSI : https://cours-particuliers-bordeaux.fr/
evariste_G
Téra-utilisateur
 
Messages: 1425
Inscription: Vendredi 19 Décembre 2008, 19:13
Localisation: Bordeaux
Statut actuel: Actif et salarié | Enseignant

Re: Placement de grilles et lignes de niveaux

Messagepar GMaths » Mercredi 12 Octobre 2011, 17:34

evariste_G a écrit:Merci. Cela fonctionne comme ça.
Il est vrai que la compilation prenait bien longtemps, et je ne comprenais pas ... Maintenant, je comprends.


Avec une sortie prc... chaque ligne de niveau à laquelle on donne une épaisseur est un tube pour lequel il y a prise en compte de l'éclairage.

Avec le code suivant :

Code: Tout sélectionner
import graph3;
import contour;
import grid3;
import palette;
size(8cm,IgnoreAspect);
currentprojection=orthographic(-10,-10,8);
limits((0,0,0),(120,100,160));
real f(pair z) {return sqrt(2*z.x*z.y);}
real[] lignesniveaux={10,20,30,40,50,60,70,80,90,100,110,120,130,140,150};
surface s=surface(f,(0,0),(120,100),50,Spline);
draw(s,mean(palette(s.map(zpart),Rainbow())),gray,nolight);
grid3(gridroutine=XYXgrid(),Step=20,step=10);
grid3(gridroutine=XZXgrid(pos=Relative(1)),Step=20,step=10);
grid3(gridroutine=YZYgrid(pos=Relative(1)),Step=20,step=5);
xaxis3(Label("$x$",position=MidPoint,align=SE),
           Bounds(Min,Min),
           OutTicks(Step=20));
yaxis3(Label("$y$",position=MidPoint,align=SW),
          Bounds(Min,Min),
           OutTicks(Step=20));
zaxis3(Bounds(Max,Both),OutTicks(Step=20));
zaxis3(Label("$z$",position=EndPoint),
           zmax=179,
           XYEquals(0,100),
           InTicks(Step=20,beginlabel=false,Label(align=Y)),
           Arrow3());
draw(lift(f,contour(f,(0,0),(120,100),lignesniveaux)),.5bp+.5red);


et une compilation avec les options -f pdf -tex pdflatex -render=0 -noprc
j'obtiens ceci en 10 secondes :

2011-10-12_183242.png


A noter... que j'ai mis un "nolight" pour la surface.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: [Résolu] Placement de grilles et lignes de niveaux

Messagepar evariste_G » Mercredi 12 Octobre 2011, 19:42

Quand tu parles de compilation, tu parles que laquelle ?
Comme je n'ai jamais compilé de fichier avec codes Asymptote, utilisant Texmaker, j'utilise la compilation LaTeX+Asymptote+LaTeX+dvips, donc où mettre ces options ?
Mathématiques, LaTeX et Python : http://www.mathweb.fr
Cours particuliers de maths et de NSI : https://cours-particuliers-bordeaux.fr/
evariste_G
Téra-utilisateur
 
Messages: 1425
Inscription: Vendredi 19 Décembre 2008, 19:13
Localisation: Bordeaux
Statut actuel: Actif et salarié | Enseignant

Re: [Résolu] Placement de grilles et lignes de niveaux

Messagepar GMaths » Jeudi 13 Octobre 2011, 20:10

evariste_G a écrit:Quand tu parles de compilation, tu parles que laquelle ?
Comme je n'ai jamais compilé de fichier avec codes Asymptote, utilisant Texmaker, j'utilise la compilation LaTeX+Asymptote+LaTeX+dvips, donc où mettre ces options ?


J'ai compilé directement le asy avec ce qui est pour moi l'éditeur incontournable sous windows : notepad++

2011-10-13_210731.png


Je n'ai pas re-testé avec ton tex initial.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: [Résolu] Placement de grilles et lignes de niveaux

Messagepar evariste_G » Vendredi 14 Octobre 2011, 11:44

Je ne sais pas quelle version tu as de Notepad+, mais chez moi, ça ne fonctionne pas ... Mais c'est pas bien grave, ce n'est pas l'objet du topic.
Chez moi, quand je clique sur "Exécuter", il y a juste une ligne dans laquelle mettre la commande (donc là, je choisis le chemin de asy.exe et je mets les options), mais c'est tout ... Je n'ai pas le "asy_pdf" en bas à droite.
Mathématiques, LaTeX et Python : http://www.mathweb.fr
Cours particuliers de maths et de NSI : https://cours-particuliers-bordeaux.fr/
evariste_G
Téra-utilisateur
 
Messages: 1425
Inscription: Vendredi 19 Décembre 2008, 19:13
Localisation: Bordeaux
Statut actuel: Actif et salarié | Enseignant

Re: [Résolu] Placement de grilles et lignes de niveaux

Messagepar GMaths » Vendredi 14 Octobre 2011, 17:56

evariste_G a écrit:Je ne sais pas quelle version tu as de Notepad+, mais chez moi, ça ne fonctionne pas ... Mais c'est pas bien grave, ce n'est pas l'objet du topic.
Chez moi, quand je clique sur "Exécuter", il y a juste une ligne dans laquelle mettre la commande (donc là, je choisis le chemin de asy.exe et je mets les options), mais c'est tout ... Je n'ai pas le "asy_pdf" en bas à droite.


Tu vas dans le menu "Compléments" / "Plugin Manager" / "Show Plugin Manager" ... et tu installes NppExec.
Tu auras la fenêtre que tu vois sur l'image....... avec la possibilité de créer des profils de compilation (en cliquant sur Save).................... en appuyant sur F6.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: [Résolu] Placement de grilles et lignes de niveaux

Messagepar evariste_G » Samedi 15 Octobre 2011, 11:48

Merci beaucoup ! J'étais loin de me rendre compte des possibilités de cet éditeur, que j'utilisais habituellement pour mes pages PHP ...
Et en effet, c'est bien plus rapide !
Mathématiques, LaTeX et Python : http://www.mathweb.fr
Cours particuliers de maths et de NSI : https://cours-particuliers-bordeaux.fr/
evariste_G
Téra-utilisateur
 
Messages: 1425
Inscription: Vendredi 19 Décembre 2008, 19:13
Localisation: Bordeaux
Statut actuel: Actif et salarié | Enseignant

Re: [Résolu] Placement de grilles et lignes de niveaux

Messagepar GMaths » Samedi 15 Octobre 2011, 12:55

evariste_G a écrit:Merci beaucoup ! J'étais loin de me rendre compte des possibilités de cet éditeur

Pense à jeter un oeil sur les options de NppExec :
(sauvegarde automatique des fichiers avant compilation, raccourci pour le dernier mode de compilation, console permanente pour taper des commandes, etc...)

2011-10-15_134853.png

Tu peux créer bien sûr créer aussi des profils de compilation pour latex et tout autre langage.

2011-10-15_135332.png


Pour la coloration syntaxique du code Asymptote, j'ai déposé le fichier utile dans un ancien sujet.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: [Résolu] Placement de grilles et lignes de niveaux

Messagepar GMaths » Samedi 15 Octobre 2011, 12:59

L'option
Code: Tout sélectionner
Follow $(CURRENT_DIRECTORY)
doit te permettre de ne pas avoir à écrire, dans chaque mode de compilation, ce que tu vois sur l'image :
Code: Tout sélectionner
cd $(CURRENT_DIRECTORY)
.

Si tu as les chemins nécessaire dans le path de Windows... il suffit de taper asy suivi des options.
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 1 invité