Section cube par un plan

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 !
Nico56
Messages : 58
Enregistré le : lun. 12 janv. 2015, 16:06

Section cube par un plan

Message non lu par Nico56 » lun. 18 mai 2015, 08:05

Bonjour à tous, me revoilà pour des questions...
Je souhaite réaliser des sections de cubes par des plans, j'ai trouvé ce superbe doc: http://asy.marris.fr/slide_asy/sections_cube.pdf duquel j'ai récupéré le source. Impossible de compiler correctement le source (mon pc tourne une nuit complète sans résultat...) ni même d'en extraire correctement une partie du code, je compile ce qui suit sans erreur, j'obtiens un carré blanc, j'aime bien les Koendelietzsche mais pas tant que ça... Si vous avez une idée, je suis preneur!
Merci d'avance.
Nicolas

Figure asymptote 7ac24c67abde4741c8dd3a73120450a6
*** 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. import three;
  2. currentprojection=orthographic(5,2,3);
  3. picture piccube;
  4. real a=1;
  5. triple A=(a,0,0),B=(a,a,0),C=(0,a,0),D=(0,0,0),
  6. E=(a,0,a),F=(a,a,a),G=(0,a,a),H=(0,0,a),
  7. I=F+(E-F)/8,
  8. J=H+(E-H)/4,
  9. K=E+3*(A-E)/8;
  10. path3 facedevant=A--B--F--E--cycle,
  11. facedroite=B--C--G--F--cycle,
  12. facedessus=H--E--F--G--cycle;
  13. draw(piccube,facedevant^^facedroite^^facedessus,1bp+blue);
  14. draw(piccube,D--A^^D--C^^D--H,dashed+1bp+blue);
  15. label(piccube,"$A$",A,dir(G--A),fontsize(14));
  16. label(piccube,"$B$",B,dir(H--B),fontsize(14));
  17. label(piccube,"$C$",C,dir(E--C),fontsize(14));
  18. label(piccube,"$D$",D,dir(C--D),fontsize(14));
  19. label(piccube,"$E$",E,dir(C--E),fontsize(14));
  20. label(piccube,"$F$",F,dir(B--F),fontsize(14));
  21. label(piccube,"$G$",G,dir(A--G),fontsize(14));
  22. label(piccube,"$H$",H,dir(D--H),fontsize(14));
  23. shipout(format="pdf");
Windows 10 - Asymptote(2.32)+texlive - Editeur: texmaker (4.5)

Nico56
Messages : 58
Enregistré le : lun. 12 janv. 2015, 16:06

Re: Section cube par un plan

Message non lu par Nico56 » lun. 18 mai 2015, 11:11

Bon, je viens de me rendre compte de mes erreurs:
1. Je n'ouvrais pas mon doc avec adobe acrobat,
2. Je me rends compte que le résultat est beaucoup trop complexe, mon objectif est juste d'illustrer un document papier...
Existe-t-il une solution alternative?
Merci d'avance!
Nico
Windows 10 - Asymptote(2.32)+texlive - Editeur: texmaker (4.5)

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

Re: Section cube par un plan

Message non lu par GM » lun. 18 mai 2015, 11:49

Bonjour,
Nico56 a écrit :Je n'ouvrais pas mon doc avec adobe acrobat
Il n'y avait pas que cela comme erreur !
Si tu n'ajoutes pas piccube à currentpicture, je peine à croire que tu aies pu obtenir ta figure avec le code ci-dessus !

Il faut par exemple ajouter cette ligne à la place avant ou à la place du shipout !

Code : Tout sélectionner

add(piccube.fit(5cm));
Attention, aussi, pour ceux qui veulent tester l'exemple ci-dessus : j'avais une erreur en testant avec l'ancienne version 9.10 de ghostscript (que j'avais installé du fait du problème de eps2write rencontré avec asymptote 2.32 et ghostscript 9.15... problème qui doit être réglé depuis Asymptote 2.33)
et j'ai alors installé la version 9.16 de ghostscript et j'ai pu compiler.
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: Section cube par un plan

Message non lu par GM » lun. 18 mai 2015, 12:40

Encore une info : dans le source que tu as trouvé, qui date de 2008... autrement dit d'une éternité, tu dois avoir des choses comme cela :

Code : Tout sélectionner

fill(pictempo,E--F--G--H--cycle,paleyellow+opacity(0.8));
qui déclenche ce genre d'erreur :
no matching function 'fill(picture, void(flatguide3), pen)'
... et il faut alors les réactualiser par quelque chose comme cela :

Code : Tout sélectionner

draw(pictempo,surface(E--F--G--H--cycle,planar=true),paleyellow+opacity(0.8));
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 !

Nico56
Messages : 58
Enregistré le : lun. 12 janv. 2015, 16:06

Re: Section cube par un plan

Message non lu par Nico56 » lun. 18 mai 2015, 13:38

Merci, en remplaçant le shipout par la ligne donnée, ça marche bien. :D
Par contre, je n'ai besoin que d'une projection en 2d d'un cube, juste pour faire une figure pour un exercice sur feuille. Est-ce qu'il y a un truc moins lourd? Le fichier que l'on obtient est interactif, ce n'est pas ce que je recherche!
Merci d'avance pour les tuyaux.
Nico
Windows 10 - Asymptote(2.32)+texlive - Editeur: texmaker (4.5)

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

Re: Section cube par un plan

Message non lu par GM » lun. 18 mai 2015, 13:56

Nico56 a écrit :Le fichier que l'on obtient est interactif, ce n'est pas ce que je recherche !
Je le compile avec la ligne de commande :
asy -f pdf -tex pdflatex -noprc nomdufichier
Si tu préfères compiler avec une simple commande asy, tu mets alors les mêmes options en début de fichier asy :
settings.outformat="pdf";
settings.tex="pdflatex";
settings.prc = false;
L'image deviendra statique ! ;-)
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 !

Nico56
Messages : 58
Enregistré le : lun. 12 janv. 2015, 16:06

Re: Section cube par un plan

Message non lu par Nico56 » lun. 18 mai 2015, 14:13

Super, merci! Je venais de trouver la solution dans la galerie d'exemples...
Je reviens mettre qqs exemples quand j'ai fini, ça pourra peut-être servir.
Une dernière question: à quoi sert : settings.render=0; Est-ce utile dans mon cas?
Windows 10 - Asymptote(2.32)+texlive - Editeur: texmaker (4.5)

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

Re: Section cube par un plan

Message non lu par GM » lun. 18 mai 2015, 20:41

Nico56 a écrit :Je reviens mettre qqs exemples quand j'ai fini, ça pourra peut-être servir.
Euh... c'est gentil mais la 3D sur le forum, ce n'est pas vraiment cela.
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 !

Nico56
Messages : 58
Enregistré le : lun. 12 janv. 2015, 16:06

Re: Section cube par un plan

Message non lu par Nico56 » mar. 19 mai 2015, 06:56

Ok, je garde ça de côté.
Windows 10 - Asymptote(2.32)+texlive - Editeur: texmaker (4.5)

Nico56
Messages : 58
Enregistré le : lun. 12 janv. 2015, 16:06

Re: Section cube par un plan

Message non lu par Nico56 » lun. 7 mars 2016, 16:04

Bonjour à tous, je déterre ce post car j'ai une question à ce sujet, je voudrais colorier une face, mais je ne trouve pas de solution, très probablement un problème lié à la 3D...
Voici mon code:

Code : Tout sélectionner

import three;
import geometry;
settings.render=0; 
settings.prc=false;  // pas d'interactivité

size(8cm);
currentprojection=obliqueX;

triple	v=(0,0,4),
		pA=(3,0,0), 
		pB=(3,4,0), 
		pC=(0,4,0), 
		pD=(0,0,0),
		pE=pA+v,
		pF=pB+v,
		pG=pC+v,
		pH=pD+v,
		pI=(pA+pC)/2
		;
	
fill(pA--pB--pC--pD--cycle,blue);
draw(pA--pB--pC--pG--pH--pE--pA^^pE--pF--pB^^pF--pG);
draw(pA--pD--pC^^pD--pH,dashed);
Merci d'avance pour vos lumières!
Nico
Windows 10 - Asymptote(2.32)+texlive - Editeur: texmaker (4.5)

Répondre