Ajouter un espace entre le remplissage et le bord

Tout ce qui concerne le langage Asymptote. Ce langage est utilisable sur le forum via les balises asy.
[participation réservée aux utilisateurs inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
sarmin

Ajouter un espace entre le remplissage et le bord

Message non lu par sarmin »

Hello :)

Voilà je viens (ce matin !) de me lancer dans la découverte d'asymptote : ca semble vraiment puissant.

Néanmoins je cherche à faire quelque chose de précis et j'ai pas trouvé d'aide dans la doc (enfin je l'ai surement loupé, c'est qu'elle est un peu ... hardcore à lire cette doc. ET Dieu ne m'a pas aidé :'( ) : je cherche à ajouter un petit espace entre le bord (le contour) d'un rectangle et le remplissage (des hachures) afin de distinguer les différents bord. Une image valant mieux qu'un long discours : j'ai ceci

Image

dont le code est

Code : Tout sélectionner

\documentclass{article}
\usepackage[pdftex]{graphicx}
\usepackage{asymptote}
\begin{document}
\begin{figure}[h]
 \begin{asy}
 // Variables
 import patterns;
 unitsize(1inch); 
 pair A=(0,0),B=(2,0),C=(2,1),D=(0,1);
 path rect=A--B--C--D--cycle;
 // Dessin
 draw(A--B);
 draw(C--D);
 draw(B--C,dashed);
 draw(D--A,dashed);
 add("hachure",hatch(1.2mm,NE,.3mm+black));
 fill(rect,pattern("hachure"));
\end{asy} 
\end{figure}
\end{document}
Je veux donc simplement ajouter du blanc entre les hachures et le bord noir plein/pointillé ; une idée ?

Merci d'avance !
maurice
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 399
Inscription : jeudi 25 mars 2010, 13:49

Re: Ajouter un espace entre le remplissage et le bord

Message non lu par maurice »

Bonjour, je ne suis pas sur d'avoir bien compris :
e59162ca6de2b12a4e47421e9eb97e56c824a5c2.svg
ou
183a15132b68022a142ea201d02670ca0c1bb762.svg
Pour des documents plus abordables, pour commencer le démarrage rapide de Christophe (voir lien en dessous) ou les sites de Gaétan Marris et de Philippe Ivaldi sont très bien.

maurice
Dernière modification par maurice le vendredi 01 juillet 2011, 18:10, modifié 1 fois.
Asymptote :
----> Démarrage rapide : http://cgmaths.fr/Atelier/Asymptote/Asymptote.html
----> Documentation 3D : http://www.mathco.tuxfamily.org et si ça ne marche pas, essayez la version pdf
chellier
Modérateur honoraire
Modérateur honoraire
Messages : 355
Inscription : samedi 25 juillet 2009, 12:25
Localisation : Le Creusot
Contact :

Re: Ajouter un espace entre le remplissage et le bord

Message non lu par chellier »

Pour compléter la réponse de maurice sur bbox, on peut préciser plusieurs arguments :

Code : Tout sélectionner

frame bbox(picture pic=currentpicture,
           real xmargin=0, real ymargin=xmargin,
           pen p=currentpen, filltype filltype=NoFill)
e5abe06e063853f23593db7cff206a051c6fdcd1.svg
Christophe
sarmin

Re: Ajouter un espace entre le remplissage et le bord

Message non lu par sarmin »

Merci beaucoup à vous deux. Le second résultat de maurice est parfait :D Et merci pour les liens ca me semble fort interessant (j'avais déjà remarqué la doc 3D :wink: )
sarmin

Re: Ajouter un espace entre le remplissage et le bord

Message non lu par sarmin »

Je me permet un petit up sur le même sujet : ca va peut être vous sembler "futile" comme détail, mais bon : pourquoi sur le second résultat de maurice le blanc est plus fin en haut que sur les côtés ?

Le code est donc
aa0755cb9e4e31324a3aba4075498f01e3b9aeec.svg
chellier
Modérateur honoraire
Modérateur honoraire
Messages : 355
Inscription : samedi 25 juillet 2009, 12:25
Localisation : Le Creusot
Contact :

Re: Ajouter un espace entre le remplissage et le bord

Message non lu par chellier »

Je tente. Le coefficient de réduction est 0,95, la largeur est plus petite que la longueur (oui, je sais :roll: ), donc l'espace en haut et en bas est plus petit.

C'est pas plus simple avec shipout(bbox(...)) ?

Christophe
sarmin

Re: Ajouter un espace entre le remplissage et le bord

Message non lu par sarmin »

Bien vu pour le coef ca doit venir de là. On ne sais pas par hasard donner des longeurs absolues en moins ou un truc du style ?

Sinon pour shippout je ne vois pas bien comment l'utiliser ; on sait faire des bordures de styles différents ?

Enfin je pense qu'il y a moyen de contourner le problème en faisant un autre rectangle par dessus (et en virant les bordures du premier).

EDIT : bon bha j'ai essayé, mais j'ai l'impression que l'espace est pas égal en haut/bas et sur les côtés. Pourtant là ce sont des longueurs absolues. Me trompe-je ?
e04ada26e8291c96fb8d59549dfdf5cf622ac733.svg
PS : les deux points sur les côtés on s'en fiche x)
chellier
Modérateur honoraire
Modérateur honoraire
Messages : 355
Inscription : samedi 25 juillet 2009, 12:25
Localisation : Le Creusot
Contact :

Re: Ajouter un espace entre le remplissage et le bord

Message non lu par chellier »

Personnellement, je ne comprend pas bien la méthode avec le coef de réduction...

Pour bbox, regarde un de mes messages précédents, pour bbox, xmargin, la marge à gauche et à droite et ymargin, la marge en haut et en bas.
p, le trait de contour, et le filltype si tu veux remplir.
ccfe6da7554d5cc9dcf88d82d47cea3afbf04d8e.svg
Christophe
sarmin

Re: Ajouter un espace entre le remplissage et le bord

Message non lu par sarmin »

Hum oui je comprend bien le bout de code mais ce que je recherche c'est bien un blanc entre la cadre extérieur (composé de segment pleins et de pointillés) et les hachures (comme sur mon exemple), pas autour de la figure.

Sinon ton exemple semble bon s'il y a moyen de définir un cadre de type différent (pointillés sur les côtés, plein en haut) pour la "bbox". Mais c'est cela que je ne vois pas comment faire.
chellier
Modérateur honoraire
Modérateur honoraire
Messages : 355
Inscription : samedi 25 juillet 2009, 12:25
Localisation : Le Creusot
Contact :

Re: Ajouter un espace entre le remplissage et le bord

Message non lu par chellier »

Ok :idea: J'avais rien compris :wink: Désolé.

Christophe
GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2042
Inscription : lundi 01 octobre 2007, 10:20

Re: Ajouter un espace entre le remplissage et le bord

Message non lu par GMaths »

Une solution pour des contours fermés de forme quelconque.

Image
sarmin

Re: Ajouter un espace entre le remplissage et le bord

Message non lu par sarmin »

GMaths a écrit :Une solution pour des contours fermés de forme quelconque.

Image
Waw merci je vais regarder ca de près :)
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message