Ajouter un espace entre le remplissage et le bord

Tout ce qui concerne le langage Asymptote. Ce langage est supporté sur le forum via les balises asy.

Modérateur : gdm_asy

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
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 153
Inscription : mercredi 17 mars 2010, 14:43
Localisation : Bruxelles, Belgique

Ajouter un espace entre le remplissage et le bord

Message 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 par maurice »

Bonjour, je ne suis pas sur d'avoir bien compris :
{}
ou
{}
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
Modérateur
Messages : 355
Inscription : samedi 25 juillet 2009, 12:25
Localisation : Le Creusot

Re: Ajouter un espace entre le remplissage et le bord

Message 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)
{}
Christophe

sarmin
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 153
Inscription : mercredi 17 mars 2010, 14:43
Localisation : Bruxelles, Belgique

Re: Ajouter un espace entre le remplissage et le bord

Message 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
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 153
Inscription : mercredi 17 mars 2010, 14:43
Localisation : Bruxelles, Belgique

Re: Ajouter un espace entre le remplissage et le bord

Message 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
{}

chellier
Modérateur
Modérateur
Messages : 355
Inscription : samedi 25 juillet 2009, 12:25
Localisation : Le Creusot

Re: Ajouter un espace entre le remplissage et le bord

Message 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
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 153
Inscription : mercredi 17 mars 2010, 14:43
Localisation : Bruxelles, Belgique

Re: Ajouter un espace entre le remplissage et le bord

Message 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 ?
{}
PS : les deux points sur les côtés on s'en fiche x)

chellier
Modérateur
Modérateur
Messages : 355
Inscription : samedi 25 juillet 2009, 12:25
Localisation : Le Creusot

Re: Ajouter un espace entre le remplissage et le bord

Message 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.
{}
Christophe

sarmin
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 153
Inscription : mercredi 17 mars 2010, 14:43
Localisation : Bruxelles, Belgique

Re: Ajouter un espace entre le remplissage et le bord

Message 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
Modérateur
Messages : 355
Inscription : samedi 25 juillet 2009, 12:25
Localisation : Le Creusot

Re: Ajouter un espace entre le remplissage et le bord

Message par chellier »

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

Christophe

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

Re: Ajouter un espace entre le remplissage et le bord

Message par GMaths »

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

Image

sarmin
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 153
Inscription : mercredi 17 mars 2010, 14:43
Localisation : Bruxelles, Belgique

Re: Ajouter un espace entre le remplissage et le bord

Message 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 :)