Je cherche une macro TikZ pour coder les angles droits lorsque les chemins ne sont pas droits (simulation de tracé à main levée) comme par exemple dans la figure ci-dessous. L'idée étant de créer une macro qui permette de coder tous les angles droits, que ce soit deux droites perpendiculaires, les diagonales d'un losange, un triangle rectangle. J'ai déjà fait cela manuellement en codant des parallèles de chaque côté puis en calculant les points d'intersection angle droit par angle droit. Pour un rectangle, cela fait quatre parallèles à construire manuellement qui donnent 12 points d'intersection. Édit : Une nouvelle idée : plutot que de construire les intersections avec des parallèles, je pense qu'il est plus simple de construire les intersections avec des cercle de rayon fixé (4 ou 5 mm par exemple) de centre le sommet de l'angle. Cela donne deux points d'intersection. Il suffit alors de construire le chemin de l'un à l'autre avec la syntaxe tikz Édit n°2 : Non, on ne peut pas utiliser la syntaxe tikz Il doit être possible d'utiliser les vecteurs du package tkz-euclide pour obtenir le quatrième angle du symbole de l'angle droit. Ouvrir dans l'éditeur Overleaf
\documentclass[a4paper, 11pt]{article} \usepackage{tikz} \usetikzlibrary{intersections} \begin{document} \begin{tikzpicture} \coordinate[label=right:A](A) at (4,0); \coordinate[label=left:B](B) at (0,0); \coordinate[label=left:C](C) at (0,3); \coordinate[label=right:D](D) at (4,3); \draw [name path=AB,bend left=-5] (A)to (B); \draw[name path=BC,bend left=-5] (B)to (C); \draw[name path=CD,bend left=-5] (C)to (D); \draw[name path=DA,bend left=-5] (D)to (A); \end{tikzpicture} \end{document} Je voudrais automatiser cela Ouvrir dans l'éditeur Overleaf
\documentclass[a4paper, 11pt]{article} \usepackage{tikz} \usetikzlibrary{intersections} \usepackage{tkz-euclide} \usetkzobj{all} \begin{document} \begin{tikzpicture} \coordinate[label=right:A](A) at (4,0); \coordinate[label=left:B](B) at (0,0); \coordinate[label=left:C](C) at (0,3); \coordinate[label=right:D](D) at (4,3); \draw [name path=AB,bend left=-5] (A)to (B); \draw[name path=BC,bend left=-5] (B)to (C); \draw[name path=CD,bend left=-5] (C)to (D); \draw[name path=DA,bend left=-5] (D)to (A); \tkzMarkRightAngle(A,B,C) \tkzMarkRightAngle(B,C,D) \tkzMarkRightAngle(C,D,A) \tkzMarkRightAngle(D,A,B) \end{tikzpicture} \end{document} |
voici une petite macro qui trace un coin Ouvrir dans l'éditeur Overleaf
\documentclass[a4paper, 11pt]{article} \usepackage{tikz} \usetikzlibrary{intersections,calc} \begin{document} \newcommand{\coin}[4]{ \path[name path=CAB] (#1) circle (#4); \coordinate[red,name intersections={of=#2 and CAB,by=p#1-1 }]; \coordinate[red,name intersections={of=#3 and CAB,by=p#1-2 }]; \path (#1) -- (p#1-1) coordinate[pos=10] (ff) --(ff); \path (#1) -- (p#1-2) coordinate[pos=10] (ff) --(ff); \path (#1) -- ($(p#1-1)!0.5!(p#1-2)$) coordinate[pos=2] (d#1); \draw[red] (p#1-1) -- (d#1) --(p#1-2); } \begin{tikzpicture} \coordinate[label=right:A](A) at (4,0); \coordinate[label=left:B](B) at (0,0); \coordinate[label=left:C](C) at (0,3); \coordinate[label=right:D](D) at (4,3); \draw [name path=AB,bend left=-5] (A)to (B); \draw[name path=BC,bend left=-5] (B)to (C); \draw[name path=CD,bend left=-5] (C)to (D); \draw[name path=DA,bend left=-5] (D)to (A); \coin{A}{AB}{DA}{5mm} \coin{D}{CD}{DA}{4mm} \coin{C}{CD}{BC}{3mm} \coin{B}{BC}{AB}{2mm} \end{tikzpicture} \end{document} Je n'ai pas le droit de téléverser l'image!! Publiée 26 Aoû '17, 16:56 rpapa |
Lors de l'excellent stage LaTeX de Dunkerque, j'avais assisté il y a quelques années à une intervention de Christophe Poulain intitulée Productivité avec LaTeX.
Professeur de mathématiques au collège, Christophe Poulain avait relaté, parmi tant d'autres exemples éclairants, son souci de fournir à ses élèves des figures géométriques impossibles à décalquer. Comme vous, il a généré des figures simulant un tracé à main levée. Je pense qu'il s'est servi de courbes de Bézier générées avec Metapost et non avec TikZ.
Ses travaux sont publiés sur l'excellent site Syracuse, qui est une mine d'informations. Je n'ai pas les références exactes des figures imitant la main levée, mais je ne saurais trop vous inviter à y jeter un œil.
Oui, il fait avec metapost, mais je ne crois pas qu'il code avec les angles droits des figures dessinées à main levée.
Edit : si il code les figures à main levée, mais cela veut dire apprendre un langage de plus !
@Pathe, en tant que super-admin, pouvez-vous appliquer la règle édictée par l'admin @denis précisant que lorsqu'on édite une réponse, on le signifie avec Édit afin que les commentaires suivants aient toujours un sens ?
Vous avez modifié votre premier commentaire plusieurs jours plus tard, cela rend mon commentaire vous répondant idiot et je n'ai pas la possibilité de modifier ce commentaire car je n'ai pas les pleins pouvoirs comme les super-admins.