Gestion des couleurs et pointillés avec des intersections de plans

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

Gestion des couleurs et pointillés avec des intersections de plans

Message non lupar Nico56 » mar. 29 mars 2016, 22:39

Bonsoir, je voudrais trouver une manière efficace de gérer les couleurs et les pointillés en fonction des arêtes cachées et des parties de plan cachées. Une idée?
Merci d'avance!
Nico

Voici mon code de base, que je voudrais améliorer.

Figure asymptote f017fa4036a25892204cb1d5007e57d7
*** 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. settings.autobillboard=false; // solution temporaire pour que
  2. // l'option d'affichage par défaut des labels ne soit plus Billboard
  3. // (qui ne fonctionne pas pour l'instant avec obliqueX).
  4.  
  5. settings.render=0; // m'a permis d'éliminer des bandes noires apparues avec le shipout
  6. settings.prc=false; // pas d'interactivité
  7.  
  8. size(7.5cm,0);
  9. import three;
  10. settings.tex="pdflatex";
  11.  
  12. currentprojection=obliqueX;
  13. currentlight=nolight;
  14.  
  15. triple v1=(4,0,0),
  16. v2=(0,6,0),
  17. p0=(-2,-3,0);
  18.  
  19. path3 pl1=plane(v1,v2,p0);
  20. path3 pl2=rotate(90,X)*pl1;
  21.  
  22. draw(surface(pl1),paleblue,black);
  23. draw(surface(pl2),palegreen+opacity(.4),black);
  24.  
  25. draw(v2/2+p0--v2/2+v1+p0,.8bp+red+dashed);
  26.  
  27. draw("$\vec{n}$",(-1,0,2)--(-1,1.5,2),Arrow3(2mm));
  28. draw("$\vec{n'}$",(-1,2,0)--(-1,2,2),Arrow3(2mm));
  29. //shipout(bbox(1mm),invisible);
Windows 10 - Asymptote(2.32)+texlive - Editeur: texmaker (4.5)

Avatar de l’utilisateur
GM
Administrateur du site
Administrateur du site
Messages : 1318
Enregistré le : dim. 7 mars 2010, 14:50

Re: Gestion des couleurs et pointillés avec des intersections de plans

Message non lupar GM » mer. 30 mars 2016, 18:27

Nico56 a écrit :Bonsoir, je voudrais trouver une manière efficace


Une manière oui................. efficace non : une bidouille de professionnel ! :D

Avec ce code, on obtient la figure qui suit.

Code : Tout sélectionner

settings.tex="pdflatex";
settings.outformat="pdf";
settings.batchView=false;
settings.render=4;
settings.prc=false;
         
size(7.5cm,0);
import three;
         
currentprojection=obliqueX;
currentlight=nolight;
         
triple v1=(4,0,0),
       v2=(0,6,0),
       p0=(-2,-3,0);
         
path3 pl1=plane(v1,v2,p0);
path3 pl2=rotate(90,X)*pl1;
         
draw(surface(pl1),paleblue,1bp+black);
draw(surface(pl2),palegreen,1bp+black);
         
draw(v2/2+p0--v2/2+v1+p0,.8bp+red+dashed);
       
draw("$\vec{n}$",(-1,0,2)--(-1,1.5,2),Arrow3(2mm));
draw("$\vec{n'}$",(-1,2,0)--(-1,2,2),Arrow3(2mm));

// Une technique ci-dessous qui peut faire peur...
// ... qui est un fait un leurre (une rustine contre l'incapacité d'Asymptote de dessiner des traits cachés en pointillés).
pair p1=extension(project(point(pl1,0)),project(point(pl1,3)),project(point(pl2,1)),project(point(pl2,2)));
// tp1 est triple du plan contenant pl2, qui se projette sur l'écran en p1.
triple tp1=invert(p1,normal(pl2),point(pl2,0));
draw(tp1--point(pl1,3.5),dashed);

pair p2=extension(project(point(pl1,1)),project(point(pl1,2)),project(point(pl2,0)),project(point(pl2,3)));
// tp2 est triple du plan contenant pl1, qui se projette sur l'écran en p2.
triple tp2=invert(p2,normal(pl1),point(pl1,0));
draw(tp2--point(pl1,3.5),dashed);


Mais ce n'est vraiment pas satisfaisant comme méthode !

Image

C'est en faisant la figure que l'on comprend ma supercherie :

Image


Mais si tu ne veux qu'une figure statique... cela pourra peut-être convenir.
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://gmaths.net/asy/index/?filtre=arc triple
Fichiers utiles pour réaliser des graphes : gm_graphes.asy - gm_graphes_styles.asy
Mes configurations (le 01/02/15) :
PC n°1 :Windows 7 - Asymptote(2.32)+MikTeX2.9 - Editeurs : Notepad++ et TeXworks.
Mes autres PC :Ubuntu 14.04LTS - Asymptote(2.33SVN) + TexLive2014 - Editeur : TeXworks.
Merci de préciser la votre pour faciliter l'aide des autres !

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

Re: Gestion des couleurs et pointillés avec des intersections de plans

Message non lupar Nico56 » mer. 30 mars 2016, 18:47

Parfait! Jolies projections...
J'ai remarqué que "settings.render=4;" permet de régler mes problèmes de couleurs sur les plans, est-ce qu'il y a une doc sur les différences entre les différents stades?
Merci encore pour l'aide!
Bonne soirée.
Nico
Windows 10 - Asymptote(2.32)+texlive - Editeur: texmaker (4.5)

Avatar de l’utilisateur
GM
Administrateur du site
Administrateur du site
Messages : 1318
Enregistré le : dim. 7 mars 2010, 14:50

Re: Gestion des couleurs et pointillés avec des intersections de plans

Message non lupar GM » mer. 30 mars 2016, 18:59

Nico56 a écrit :est-ce qu'il y a une doc sur les différences entre les différents stades?

stade ? tu veux dire "étapes de mon bidouillage" ?

Une explication sur les triples qui interviennent :

Image

Et puis il faut comprendre le couple infernal : project(...), invert(...)

Si pA est le triple correspondant à un point dans le repère de l'espace,
project(pA) est le pair correspondant à ce même point dans un repère 2D collé sur l'image.

Si pB est un pair correspondant à un point de l'image dans un repère 2D collé sur l'image,
invert(pB,V,pC) est un triple correspondant à un point de l'espace qui se projette en ce point de l'image : il y en a une infinité dans l'espace mais un seul dans le plan contenant pC et de vecteur normal V.
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://gmaths.net/asy/index/?filtre=arc triple
Fichiers utiles pour réaliser des graphes : gm_graphes.asy - gm_graphes_styles.asy
Mes configurations (le 01/02/15) :
PC n°1 :Windows 7 - Asymptote(2.32)+MikTeX2.9 - Editeurs : Notepad++ et TeXworks.
Mes autres PC :Ubuntu 14.04LTS - Asymptote(2.33SVN) + TexLive2014 - Editeur : TeXworks.
Merci de préciser la votre pour faciliter l'aide des autres !

Avatar de l’utilisateur
GM
Administrateur du site
Administrateur du site
Messages : 1318
Enregistré le : dim. 7 mars 2010, 14:50

Re: Gestion des couleurs et pointillés avec des intersections de plans

Message non lupar GM » mer. 30 mars 2016, 20:22

Dans l'exemple, j'ai amélioré les définitions de tp1 et tp2 pour ne pas avoir à réfléchir à un vecteur normal qui convient pour le plan souhaité : il y a une fonction qui le fait pour nous. Elle pourrait être utilisée pour tes vecteurs normaux \vv{n} et \vv{n}'.
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://gmaths.net/asy/index/?filtre=arc triple
Fichiers utiles pour réaliser des graphes : gm_graphes.asy - gm_graphes_styles.asy
Mes configurations (le 01/02/15) :
PC n°1 :Windows 7 - Asymptote(2.32)+MikTeX2.9 - Editeurs : Notepad++ et TeXworks.
Mes autres PC :Ubuntu 14.04LTS - Asymptote(2.33SVN) + TexLive2014 - Editeur : TeXworks.
Merci de préciser la votre pour faciliter l'aide des autres !

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

Re: Gestion des couleurs et pointillés avec des intersections de plans

Message non lupar Nico56 » ven. 1 avr. 2016, 08:06

Super, merci!
Et j'ai vu qu'en réglant "settings.render" sur 1, 2, 3, on a des différences notables de qualité, tu peux m'éclairer?
Merci encore pour le temps consacré à mes réponses!
Windows 10 - Asymptote(2.32)+texlive - Editeur: texmaker (4.5)

Avatar de l’utilisateur
GM
Administrateur du site
Administrateur du site
Messages : 1318
Enregistré le : dim. 7 mars 2010, 14:50

Re: Gestion des couleurs et pointillés avec des intersections de plans

Message non lupar GM » dim. 3 avr. 2016, 21:13

Nico56 a écrit :Et j'ai vu qu'en réglant "settings.render" sur 1, 2, 3, on a des différences notables de qualité, tu peux m'éclairer ?

Pour les options, voir page 162 et 163 de la doc : http://asymptote.sourceforge.net/asymptote.pdf

Image
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://gmaths.net/asy/index/?filtre=arc triple
Fichiers utiles pour réaliser des graphes : gm_graphes.asy - gm_graphes_styles.asy
Mes configurations (le 01/02/15) :
PC n°1 :Windows 7 - Asymptote(2.32)+MikTeX2.9 - Editeurs : Notepad++ et TeXworks.
Mes autres PC :Ubuntu 14.04LTS - Asymptote(2.33SVN) + TexLive2014 - Editeur : TeXworks.
Merci de préciser la votre pour faciliter l'aide des autres !

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

Re: Gestion des couleurs et pointillés avec des intersections de plans

Message non lupar Nico56 » mer. 6 avr. 2016, 18:54

Je n'avais pas cette doc... Je suis pas doué! J'irai chercher dedans avant de poser certaines questions! ;)
Merci encore.
Nico
Windows 10 - Asymptote(2.32)+texlive - Editeur: texmaker (4.5)


Retourner vers « Les demandes d'aide »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité