Comment faire avec TikZ pour dessiner une ligne qui commence pleine et devient traitillée ? Voici un ECM (ma courbe est bien plus complexe en réalité) :
Dans cet exemple, j'aimerais que la ligne commence pleine et devienne traitillée à partir point de coordonnées (0, 2). J'ai placé le paramètre [dashed] à cet endroit car il me semblait avoir fait comme ça par le passé, mais ma mémoire me joue des tours.
Dans la doc de tikz, section 14 "Syntax for path specifications", il est précisé que certaines options s'appliquent à tout le "path" comme "color". Je crains que ce soit la même chose avec "dashed" et qu'il faille faire deux draw...
J'ai bien pensé aux deux draw ; c'est d'ailleurs pour cette raison que j'ai rajouté le paramètre rounded corners : si je crée deux courbes, l'une pleine, avant un corner, et l'autre traitillée, qui commence là et va plus loin, le corner en question n'est pas rounded !
Il faut répéter et décaler un peu les points, cf. la réponse que je propose. Si le code n'est pas ce qu'il y a de plus automatique, le résultat est correcte. Non ?
Certes, mais dans mon cas, décaler les points est complexe : il s'agit d'une courbe de Bézier. L'autre solution est de « dessiner » deux lignes identiques, l'une traitillée, l'autre non, et de ne rendre visible qu'une partie de chacune d'entre elles. Problème : je ne sais pas le faire.
clip permet de définir une zone en dehors de laquelle rien ne sera tracé ; ici, un triangle un peu plus grand que le triangle de coordonnées (0,0) -- (2,2) -- (2,0) -- (0,0) [un peu plus grand pour inclure l'épaisseur du trait]
Le |- est un raccourci pour dire "dessine un trait vertical puis un trait horizontal jusqu'au prochain point", et cycle signifie "le point de départ du tracé". Du coup, le triangle (0,0) -- (2,2) -- (2,0) -- (0,0) peut être obtenu par (0,0) -- (2,2) |- cycle.
Professeurs de mathématiques dans le secondaire, connaissez-vous le package ProfCollege de Christophe Poulain ? Il est aussi utile que bien documenté !
Dans la doc de tikz, section 14 "Syntax for path specifications", il est précisé que certaines options s'appliquent à tout le "path" comme "color". Je crains que ce soit la même chose avec "dashed" et qu'il faille faire deux draw...
J'ai bien pensé aux deux
draw
; c'est d'ailleurs pour cette raison que j'ai rajouté le paramètrerounded corners
: si je crée deux courbes, l'une pleine, avant uncorner
, et l'autre traitillée, qui commence là et va plus loin, lecorner
en question n'est pasrounded
!Il faut répéter et décaler un peu les points, cf. la réponse que je propose. Si le code n'est pas ce qu'il y a de plus automatique, le résultat est correcte. Non ?
Certes, mais dans mon cas, décaler les points est complexe : il s'agit d'une courbe de Bézier. L'autre solution est de « dessiner » deux lignes identiques, l'une traitillée, l'autre non, et de ne rendre visible qu'une partie de chacune d'entre elles. Problème : je ne sais pas le faire.