Tracé d'une fonction en 3D

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 !
cjorssen
Messages : 23
Enregistré le : dim. 14 mars 2010, 17:35

Tracé d'une fonction en 3D

Message non lu par cjorssen » mar. 23 mars 2010, 19:51

Bonjour,

Je cherche à représenter la fonction suivante :

B: (z,d) \mapsto \frac{1}{(1 + (z + d/2)^2)^{3/2}} + \frac{1}{(1 + (z - d/2)^2)^{3/2}}

pour 0 < d < 5 et surtout (c'est là que je ne sais pas faire) pour -d < z < d (les bornes sur la première variable dépendent de la seconde).

Un idée ?

Merci d'avance

--
Christophe

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

Re: Tracé d'une fonction en 3D

Message non lu par OG » mar. 23 mars 2010, 20:18

Bonsoir

et si tu composais : (d,s)\mapsto (d,sd) avec (d,s)\in]0,5[\times]-1,1[ ?
évidemment il faudra remplacer les intervalles ouverts par des intervalles
fermé [.001,5-0.001]\times[-1+0.001,1-0.001] ou de ce genre.

O.G.

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

Re: Tracé d'une fonction en 3D

Message non lu par GM » mar. 23 mars 2010, 20:24

Le sujet a été déplacé dans le forum d'aide.
Comme le suggère la remarque en rouge sur l'index, on va conserver les sous-forums thématiques pour des propositions finalisées qui peuvent être intéressantes.
L'exemple suivant peut en faire partie mais on le mettra quand il sera abouti, tel que tu le veux.

Figure asymptote 295b77bfcb4e515b99bb77fd746b4aa8
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***

CODE ASYMPTOTE de la figure ci-dessus : Tout sélectionner
  1.  
  2. import graph3;
  3. size(7.5cm,0);
  4. size3(7.5cm,IgnoreAspect);
  5. real f(pair z) {return 1/(1+(z.x+z.y/2)^2)^(3/2)+1/(1+(z.x-z.y/2)^2)^(3/2);}
  6. bool cond(pair z) {return abs(z.x)<z.y;}
  7. currentprojection=orthographic(5,5,5);
  8. draw(surface(f,(-5,-5),(5,5),nx=100,Spline,cond),orange+white,meshpen=gray);
  9.  
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
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: Tracé d'une fonction en 3D

Message non lu par GM » mar. 23 mars 2010, 20:56

Figure asymptote 85e2c063eb2c7ce93e3febcbd4bd9b22
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***

CODE ASYMPTOTE de la figure ci-dessus : Tout sélectionner
  1.  
  2. import graph3;
  3. import contour;
  4. currentlight=Viewport;
  5. size(7.5cm,0);
  6. size3(7.5cm,IgnoreAspect);
  7. real f(pair z) {return 1/(1+(z.x+z.y/2)^2)^(3/2)+1/(1+(z.x-z.y/2)^2)^(3/2);}
  8. bool cond(pair z) {return abs(z.x)<z.y;}
  9. currentprojection=orthographic(5,3,8);
  10. draw(surface(f,(-5,-5),(5,5),nx=200,Spline,cond),yellow+white);
  11.  
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 !

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

Re: Tracé d'une fonction en 3D

Message non lu par OG » mar. 23 mars 2010, 20:59

Oui, je n'avais pas pensé à cela : surface(f, blabla) mais aussi graph pour la 2D
accepte une fonction à valeurs booléennes, selon vrai ou faux l'élément est tracé ou non.
Pour une surface cela fait un découpage selon les carreaux de Bézier.

O.G.

Avatar du membre
pivaldi
V.I.P.
V.I.P.
Messages : 24
Enregistré le : jeu. 11 mars 2010, 21:09
Contact :

Re: Tracé d'une fonction en 3D

Message non lu par pivaldi » mar. 23 mars 2010, 21:14

OG a écrit :Oui, je n'avais pas pensé à cela : surface(f, blabla) mais aussi graph pour la 2D
accepte une fonction à valeurs booléennes, selon vrai ou faux l'élément est tracé ou non.
Pour une surface cela fait un découpage selon les carreaux de Bézier.

D'ailleurs, cela ne fait pas très joli. Il faudra penser un jour à faire une routine de lissage.

cjorssen
Messages : 23
Enregistré le : dim. 14 mars 2010, 17:35

Re: Tracé d'une fonction en 3D

Message non lu par cjorssen » mar. 23 mars 2010, 21:15

Super. Merci. Pour info, il s'agit de la représentation du champ magnétique sur l'axe de deux spires. La position d=1 correspond à la position dite des bobines de Helmoltz (le champ pour -d/2 < z < d/2, c'est-à-dire entre les deux spires, est quasi constant pour d=1).

PS : promis, la prochaine fois, je poste au bon endroit ;-)

--
Christophe

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

Re: Tracé d'une fonction en 3D

Message non lu par GM » mar. 23 mars 2010, 21:23

cjorssen a écrit :Super. Merci. Pour info, il s'agit de la représentation du champ magnétique sur l'axe de deux spires. La position d=1 correspond à la position dite des bobines de Helmoltz (le champ pour -d/2 < z < d/2, c'est-à-dire entre les deux spires, est quasi constant pour d=1).

PS : promis, la prochaine fois, je poste au bon endroit ;-)


C'est une figure intéressante, ne serait-ce que pour le coup du booléen donc... reviens mettre le code de ta figure telle que tu la souhaites dans ton cours et on la mettra dans le sous-forum des exemples 3D. Et si tu donnes une petite explication... on l'ajoutera pour les moteurs de recherche.

Tu noteras la différence de nx dans les deux exemples, liée au fait que l'on demande ou pas les lignes : on ne peut pas faire ce que l'on veut car sinon... out of memory.
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 !

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

Re: Tracé d'une fonction en 3D

Message non lu par OG » mar. 23 mars 2010, 21:50

Le coup du booléen est intéressant mais pour des exemples plus compliqués à mon avis.
Là il suffit de faire une surface paramétrée. Pas besoin d'un nx démesuré, et la coupe est lisse.

Figure asymptote 574e86136ba6757fbd7f413949c352eb
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***

CODE ASYMPTOTE de la figure ci-dessus : Tout sélectionner
  1.  
  2.  
  3. import graph3;
  4. import contour;
  5. currentlight=Viewport;
  6. size(7.5cm,0);
  7. size3(7.5cm,IgnoreAspect);
  8. real f(pair z) {return 1/(1+(z.x+z.y/2)^2)^(3/2)+1/(1+(z.x-z.y/2)^2)^(3/2);}
  9. triple g(pair z)
  10. {
  11. return (z.x*z.y,z.y,f((z.x*z.y,z.y)));
  12. }
  13.  
  14. bool cond(pair z) {return abs(z.x)<z.y;}
  15. currentprojection=orthographic(5,3,8);
  16. draw(surface(g,(-1,0),(1,5),nu=20,Spline),yellow+white);
  17. //draw(surface(f,(-5,-5),(5,5),nx=100,Spline,cond),red+white);
  18.  


O.G.

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

Re: Tracé d'une fonction en 3D

Message non lu par GM » mar. 23 mars 2010, 22:34

OG a écrit :la coupe est lisse.
C'est vrai que c'est plus joli. :-)
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 !

Répondre