Historique des modifications [retour]
cliquez ici pour masquer/afficher la révision 3
mineure

20 Oct '19, 18:05

Pathe's gravatar image

Pathe
7.6k49210252

Voici le code final (enfin presque : je souhaite encore modifier l'écartement par rapport à l'échelle xscale, mais après les vacances...) de ma macro "Compas" « Compas » dont l'objectif est de dessiner un compas en choisissant : - la position et l'orientation droite-gauche de la pointe, pointe, - l'inclinaison du crayon par rapport à la pointe, pointe, - la couleur des divers éléments qui constitue le compas, compas, - l'écartement évidemment... Le code compile sans erreur grâce aux nombreux conseils donnés en commentaires à ma question, j'obtiens exactement ce que je souhaitais. souhaitais. L'utilisation du l'excellent package xkeyval `xkeyval` m'a beaucoup torturé torturé, d'où mes questions sur ce forum d'experts ! Mes prochaines étapes seront l'équerre, la règle graduée et le rapporteur. \documentclass[12pt,a4paper]{article} \usepackage[latin1,utf8]{inputenc} \usepackage[french]{babel} \usepackage[T1]{fontenc} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{lmodern} \usepackage{fourier} \usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry} \usepackage{tikz} \usetikzlibrary{patterns} \usepackage{tkz-euclide} \usetkzobj{all} \usepackage{xkeyval} \usepackage{ifthen} \newcount\n \newcount\c \makeatletter %----------> \CrayonGris <---------- \definecolor{wood}{cmyk}{0.00,0.12,0.35,0.05} \define@cmdkey [DES] {CrayonGris} {inclinaison}{} \define@cmdkey [DES] {CrayonGris} {mine}{} \define@cmdkey [DES] {CrayonGris} {corps}{} \define@cmdkey [DES] {CrayonGris} {couleur}{} \define@cmdkey [DES] {CrayonGris} {xscale}{} \define@cmdkey [DES] {CrayonGris} {yscale}{} \define@boolkey [DES] {CrayonGris} {bague}[true]{} \define@cmdkey [DES] {CrayonGris} {couleurBague}{} \define@cmdkey [DES] {CrayonGris} {couleurVis}{} \define@cmdkey [DES] {CrayonGris} {opacite}{} \define@boolkey [DES] {CrayonGris} {orientation}[true]{} \presetkeys [DES] {CrayonGris} { inclinaison = 0, mine = red, corps = blue, couleur = wood, xscale=1, yscale=1, couleurBague = gray!50, couleurVis = gray!50, opacite = 0.5 }{} % \newcommand{\CrayonGris}[2][]{% \setkeys[DES]{CrayonGris}{#1} \begin{scope}[shift={(#2)},rotate=\cmdDES@CrayonGris@inclinaison, xscale=\cmdDES@CrayonGris@xscale, yscale=\cmdDES@CrayonGris@yscale] % Pointe ouverte \draw[fill=\cmdDES@CrayonGris@couleur] (-0.3,0.6) -- (0,0) -- (0.3,0.6) arc(-90:-180:0.1) arc(0:-180:0.1) arc(0:-180:0.1) arc(0:-90:0.1); % Mine \draw[fill=\cmdDES@CrayonGris@mine] (-0.1,0.2) -- (0.1,0.2) -- (0,0) -- cycle; % Corps du crayon \draw[fill=\cmdDES@CrayonGris@corps] (0.3,0.6) arc(-90:-180:0.1) arc(0:-180:0.1) arc(0:-180:0.1) arc(0:-90:0.1) -- (-0.3,6) -- (0.3,6) -- cycle; % Traits verticaux \draw (-0.2,6) -- (-0.2,0.65) (0,6) -- (0,0.65) (0.2,6) -- (0.2,0.65); % Bague \ifDES@CrayonGris@bague \draw[fill=\cmdDES@CrayonGris@couleurBague,opacity=\cmdDES@CrayonGris@opacite] (-0.4,1.5)rectangle(0.4,2.5); % Vis \ifDES@CrayonGris@orientation % choix de la position de la vis sur la bague (droite=1 ; gauche=-1) \n = 1 \else \n = -1 \fi \draw[fill=\cmdDES@CrayonGris@couleurVis] (0.4*\n,1.9)--(0.6*\n,1.9)--(0.6*\n,1.8)--(0.8*\n,1.8)--(0.8*\n,2.2)--(0.6*\n,2.2)--(0.6*\n,2.1)--(0.4*\n,2.1)--cycle; %\draw[fill=gray!20] (0.4,1.9)--(0.6,1.9)--(0.6,1.8)--(0.8,1.8)--(0.8,2.2)--(0.6,2.2)--(0.6,2.1)--(0.4,2.1)--cycle; \fi \end{scope} } \makeatother \makeatletter %----------> \Compas <---------- \definecolor{wood}{cmyk}{0.00,0.12,0.35,0.05} \define@cmdkey [DES] {Compas} {inclinaisonCompas}{} \define@cmdkey [DES] {Compas} {ecartementCompas}{} \define@cmdkey [DES] {Compas} {couleurCompasBrancheCrayon}{} \define@cmdkey [DES] {Compas} {couleurCompasCrayonMine}{} \define@cmdkey [DES] {Compas} {couleurCompasCrayonCorps}{} \define@cmdkey [DES] {Compas} {couleurCompasCrayonCouleur}{} \define@cmdkey [DES] {Compas} {couleurCompasBague}{} \define@cmdkey [DES] {Compas} {couleurCompasVis}{} \define@cmdkey [DES] {Compas} {couleurCompasBranchePointe}{} \define@cmdkey [DES] {Compas} {couleurCompasPointe}{} \define@cmdkey [DES] {Compas} {couleurCompasTop}{} \define@cmdkey [DES] {Compas} {couleurCompasTopVisSerrage}{} \define@cmdkey [DES] {Compas} {couleurCompasTopTrouSerrage}{} \define@cmdkey [DES] {Compas} {xscale}{} \define@cmdkey [DES] {Compas} {yscale}{} \define@boolkey [DES] {Compas} {orientationCompas}[true]{} \define@boolkey [DES] {Compas} {bagueCompas}[true]{} \presetkeys [DES] {Compas} { inclinaisonCompas = 0, ecartementCompas = 0, couleurCompasBrancheCrayon = black, couleurCompasCrayonMine = black, couleurCompasCrayonCorps = blue, couleurCompasCrayonCouleur = wood, couleurCompasBague = gray!50, couleurCompasVis = yellow, couleurCompasBranchePointe = black, couleurCompasPointe = gray!50, couleurCompasTop = yellow, couleurCompasTopVisSerrage = gray!30, couleurCompasTopTrouSerrage = gray!20, xscale=1, yscale=1 }{} % \newcommand{\Compas}[2][]{% \setkeys[DES]{Compas}{#1} \begin{scope}[shift={(#2)},rotate=\cmdDES@Compas@inclinaisonCompas, xscale=\cmdDES@Compas@xscale, yscale=\cmdDES@Compas@yscale] \ifDES@Compas@orientationCompas % corrélation entre l'orientation du compas et de la vis sur la bague du compas \c = 1 \setkeys[DES]{CrayonGris}{orientation=true} \else \c = -1 \setkeys[DES]{CrayonGris}{orientation=false} \fi % Branche du compas avec la pointe \begin{scope}[xshift=-(\cmdDES@Compas@ecartementCompas cm)*\c/2, rotate={-asin(\cmdDES@Compas@ecartementCompas/20)*\c}] % Pointe du compas \draw[fill=\cmdDES@Compas@couleurCompasPointe] (0*\c,0)--(0*\c,0.4)--(-0.1*\c,0.2)--(-0.1*\c,0.1)--cycle; % Branche pointe \draw[fill=\cmdDES@Compas@couleurCompasBranchePointe,smooth,rounded corners=3pt] (0*\c,0.2)--(0*\c,5)--(-0.1*\c,7.5)--(0*\c,10)--(-0.6*\c,9.8)--(-0.8*\c,9)--(-0.85*\c,8)--(-0.9*\c,7)--(-0.9*\c,6)--(-0.8*\c,5)-- (-0.75*\c,4)--(-0.65*\c,3)--(-0.7*\c,2)--(-0.6*\c,1)--(-0.5*\c,0.7)--(-0.3*\c,0.25)--cycle; \end{scope} % Branche du compas avec le crayon/la mine \begin{scope}[xshift=(\cmdDES@Compas@ecartementCompas cm)*\c/2,rotate={asin(\cmdDES@Compas@ecartementCompas/20)*\c}] % Branche crayon \draw[fill=\cmdDES@Compas@couleurCompasBrancheCrayon,smooth,rounded corners=3pt] (0*\c,2)--(0*\c,5)--(0.1*\c,7.5)--(0*\c,10)--(0.6*\c,9.8)--(0.8*\c,9)--(0.85*\c,8)--(0.9*\c,7)--(0.9*\c,6)--(0.8*\c,5)-- (0.75*\c,4)--(0.65*\c,3)--(0.7*\c,2)--(0*\c,2)--cycle; % Crayon fixé \begin{scope}[rotate=-30*\c] \CrayonGris[bague=true, corps=\cmdDES@Compas@couleurCompasCrayonCorps, mine=\cmdDES@Compas@couleurCompasCrayonMine, couleur=\cmdDES@Compas@couleurCompasCrayonCouleur, couleurBague=\cmdDES@Compas@couleurCompasBague, couleurVis=\cmdDES@Compas@couleurCompasVis, opacite=1, couleurVis=\cmdDES@Compas@couleurCompasTop]{0,0} % Fixation \draw[fill=\cmdDES@Compas@couleurCompasBague](-0.4*\c,2.5)--(-1.355*\c,2.35)--(-0.86*\c,1.5)--(-0.4*\c,1.5)--cycle; \end{scope} \end{scope} % Top du compas \begin{scope}[yshift=-10cm+0.5cm*sqrt(400-\cmdDES@Compas@ecartementCompas*\cmdDES@Compas@ecartementCompas)] % Top \draw[fill=\cmdDES@Compas@couleurCompasTop,rounded corners=4pt] (0,8.6)--(0.3,9)--(0.6,9.8)--(0.7,10)--(0.5,11)--(0.3,12) arc(0:180:0.3)--(-0.5,11)--(-0.7,10)--(-0.6,9.8)--(-0.3,9)--cycle; % Trou \draw[fill=\cmdDES@Compas@couleurCompasTopTrouSerrage] (0,10) circle (0.3); % Vis de serrage \draw[fill=\cmdDES@Compas@couleurCompasTopVisSerrage] (0.125,9.785) -- ++(60:0.25) -- ++(120:0.25) -- ++(180:0.25) -- ++(240:0.25) -- ++(300:0.25) -- cycle; %\draw[red](0,10)node{$\times$}; %vérification visuelle du positionnement de la pièce Top \end{scope} \end{scope} } \makeatother \begin{document} \title{Compas} \maketitle \section{Crayon (avec ou sans bague/vis)} \begin{tikzpicture} \CrayonGris[bague=true, orientation=false, inclinaison=-90, corps=red, xscale=2, yscale=1.5, couleurBague=yellow, couleurVis=brown, opacite=1]{0,0} \CrayonGris[bague=true,orientation=true,corps=green]{-1,1} \CrayonGris[bague=false,orientation=true,corps=white,inclinaison=90]{-2,0} \CrayonGris[bague=false,orientation=true,inclinaison=180]{-1,-1} \end{tikzpicture} \section{Compas} \subsection{Compas avec crayon à droite} \begin{tikzpicture} \Compas[orientationCompas=true]{0,0} \end{tikzpicture} \subsection{Compas avec crayon à gauche} \begin{tikzpicture} \Compas[orientationCompas=false]{0,0} \end{tikzpicture} \subsection{Changement de couleurs et d'inclinaison} \begin{tikzpicture} \Compas[inclinaisonCompas=-30, couleurCompasTop=orange, couleurCompasTopVisSerrage=red, couleurCompasTopTrouSerrage=blue, couleurCompasBranchePointe=yellow, couleurCompasPointe=red, couleurCompasBrancheCrayon=green, couleurCompasBague=black, couleurCompasVis=yellow, orientationCompas=true]{0,0} \end{tikzpicture} \begin{tikzpicture} \Compas[couleurCompasTop=white, couleurCompasTopVisSerrage=white, couleurCompasTopTrouSerrage=white, couleurCompasBranchePointe=white, couleurCompasBrancheCrayon=white, couleurCompasCrayonCouleur=white, couleurCompasCrayonCorps=white, couleurCompasVis=white, couleurCompasBague=white, orientationCompas=true]{0,0} \end{tikzpicture} \subsection{Exemples de changement d'écartement} \paragraph{Ecartement de 12 cm} \begin{tikzpicture} \clip(-7,-2)rectangle(7,13); \Compas[ecartementCompas=12, couleurCompasTop=orange, couleurCompasTopVisSerrage=blue, couleurCompasTopTrouSerrage=gray, couleurCompasBranchePointe=black, couleurCompasBrancheCrayon=green, couleurCompasBague=white, orientationCompas=true]{0,0} % vérification de la position des divers éléments : branches et top par rapport à l'écartement \draw[red](0,0)node{$\times$}; \draw[red](0,0)node[below]{O}; \draw[red](0,8)node{$\times$}; \draw[red](0,8)node[below]{C}; \draw[red](-6,0)node{$\times$}; \draw[red](-6,0)node[below]{A}; \draw[red](6,0)node{$\times$}; \draw[red](6,0)node[below]{B}; \draw[red](-6,10)node{$\times$}; \draw[red](-6,10)node[below]{D}; \draw[red](-6,0)circle(10); \draw[red](6,10)node{$\times$}; \draw[red](6,10)node[below]{E}; \draw[red](6,0)circle(10); \end{tikzpicture} \paragraph{Ecartement de 6 cm} \begin{tikzpicture} \clip(-7,-2)rectangle(7,13); \Compas[ecartementCompas=6, orientationCompas=false]{0,0} \draw[red](0,0)node{$\times$}; \draw[red](0,0)node[below]{O}; \draw[red](0,8)node{$\times$}; \draw[red](0,8)node[below]{C}; \draw[red](-3,0)node{$\times$}; \draw[red](-3,0)node[below]{A}; \draw[red](3,0)node{$\times$}; \draw[red](3,0)node[below]{B}; \draw[red](-3,10)node{$\times$}; \draw[red](-3,10)node[below]{D}; \draw[red](-3,0)circle(10); \draw[red](3,10)node{$\times$}; \draw[red](3,10)node[below]{E}; \draw[red](3,0)circle(10); \end{tikzpicture} \paragraph{Ecartement de 0,2 cm} \begin{tikzpicture} \clip(-7,-2)rectangle(7,13); \Compas[ecartementCompas=0.2, couleurCompasTop=white, couleurCompasTopVisSerrage=white, couleurCompasTopTrouSerrage=white, couleurCompasBranchePointe=white, couleurCompasBrancheCrayon=white, couleurCompasCrayonCouleur=white, couleurCompasCrayonCorps=white, couleurCompasVis=white, couleurCompasBague=white, orientationCompas=true]{0,0} \draw[red](0,0)node{$\times$}; \draw[red](0,0)node[below]{O}; \draw[red](0,8)node{$\times$}; \draw[red](0,8)node[below]{C}; \draw[red](-0.2,0)node{$\times$}; \draw[red](-0.2,0)node[below]{A}; \draw[red](0.2,0)node{$\times$}; \draw[red](0.2,0)node[below]{B}; \draw[red](-0.2,10)node{$\times$}; \draw[red](-0.2,10)node[below]{D}; \draw[red](-0.2,0)circle(10); \draw[red](0.2,10)node{$\times$}; \draw[red](0.2,10)node[below]{E}; \draw[red](0.2,0)circle(10); \end{tikzpicture} \paragraph{Agrandissement et réduction} \begin{tikzpicture} \Compas[couleurCompasTop=orange, couleurCompasTopVisSerrage=red, couleurCompasTopTrouSerrage=blue, couleurCompasBranchePointe=yellow, couleurCompasPointe=red, couleurCompasBrancheCrayon=green, couleurCompasBague=black, couleurCompasVis=yellow, xscale=1.5]{0,0} \end{tikzpicture} \begin{tikzpicture} \Compas[couleurCompasTop=orange, couleurCompasTopVisSerrage=red, couleurCompasTopTrouSerrage=blue, couleurCompasBranchePointe=yellow, couleurCompasPointe=red, couleurCompasBrancheCrayon=green, couleurCompasBague=black, couleurCompasVis=yellow, yscale=0.5]{0,0} \end{tikzpicture} \end{document}
cliquez ici pour masquer/afficher la révision 2
mineure code

20 Oct '19, 18:02

Pathe's gravatar image

Pathe
7.6k49210252

Voici le code final (enfin presque : je souhaite encore modifier l'écartement par rapport à l'échelle xscale, mais après les vacances...) de ma macro "Compas" dont l'objectif est de dessiner un compas en choisissant la position et l'orientation droite-gauche de la pointe, l'inclinaison du crayon par rapport à la pointe, la couleur des divers éléments qui constitue le compas, l'écartement évidemment... Le code compile sans erreur grâce aux nombreux conseils donnés en commentaires à ma question, j'obtiens exactement ce que je souhaitais. L'utilisation du l'excellent package xkeyval m'a beaucoup torturé d'où mes questions sur ce forum d'experts ! Mes prochaines étapes seront l'équerre, la règle graduée et le rapporteur. \documentclass[12pt,a4paper]{article} \usepackage[latin1,utf8]{inputenc} \usepackage[french]{babel} \usepackage[T1]{fontenc} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{lmodern} \usepackage{fourier} \usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry} \usepackage{tikz} \usetikzlibrary{patterns} \usepackage{tkz-euclide} \usetkzobj{all} \usepackage{xkeyval} \usepackage{ifthen} \newcount\n \newcount\c \makeatletter %----------> \CrayonGris <---------- \definecolor{wood}{cmyk}{0.00,0.12,0.35,0.05} \define@cmdkey [DES] {CrayonGris} {inclinaison}{} \define@cmdkey [DES] {CrayonGris} {mine}{} \define@cmdkey [DES] {CrayonGris} {corps}{} \define@cmdkey [DES] {CrayonGris} {couleur}{} \define@cmdkey [DES] {CrayonGris} {xscale}{} \define@cmdkey [DES] {CrayonGris} {yscale}{} \define@boolkey [DES] {CrayonGris} {bague}[true]{} \define@cmdkey [DES] {CrayonGris} {couleurBague}{} \define@cmdkey [DES] {CrayonGris} {couleurVis}{} \define@cmdkey [DES] {CrayonGris} {opacite}{} \define@boolkey [DES] {CrayonGris} {orientation}[true]{} \presetkeys [DES] {CrayonGris} { inclinaison = 0, mine = red, corps = blue, couleur = wood, xscale=1, yscale=1, couleurBague = gray!50, couleurVis = gray!50, opacite = 0.5 }{} % \newcommand{\CrayonGris}[2][]{% \setkeys[DES]{CrayonGris}{#1} \begin{scope}[shift={(#2)},rotate=\cmdDES@CrayonGris@inclinaison, xscale=\cmdDES@CrayonGris@xscale, yscale=\cmdDES@CrayonGris@yscale] % Pointe ouverte \draw[fill=\cmdDES@CrayonGris@couleur] (-0.3,0.6) -- (0,0) -- (0.3,0.6) arc(-90:-180:0.1) arc(0:-180:0.1) arc(0:-180:0.1) arc(0:-90:0.1); % Mine \draw[fill=\cmdDES@CrayonGris@mine] (-0.1,0.2) -- (0.1,0.2) -- (0,0) -- cycle; % Corps du crayon \draw[fill=\cmdDES@CrayonGris@corps] (0.3,0.6) arc(-90:-180:0.1) arc(0:-180:0.1) arc(0:-180:0.1) arc(0:-90:0.1) -- (-0.3,6) -- (0.3,6) -- cycle; % Traits verticaux \draw (-0.2,6) -- (-0.2,0.65) (0,6) -- (0,0.65) (0.2,6) -- (0.2,0.65); % Bague \ifDES@CrayonGris@bague \draw[fill=\cmdDES@CrayonGris@couleurBague,opacity=\cmdDES@CrayonGris@opacite] (-0.4,1.5)rectangle(0.4,2.5); % Vis \ifDES@CrayonGris@orientation % choix de la position de la vis sur la bague (droite=1 ; gauche=-1) \n = 1 \else \n = -1 \fi \draw[fill=\cmdDES@CrayonGris@couleurVis] (0.4*\n,1.9)--(0.6*\n,1.9)--(0.6*\n,1.8)--(0.8*\n,1.8)--(0.8*\n,2.2)--(0.6*\n,2.2)--(0.6*\n,2.1)--(0.4*\n,2.1)--cycle; %\draw[fill=gray!20] (0.4,1.9)--(0.6,1.9)--(0.6,1.8)--(0.8,1.8)--(0.8,2.2)--(0.6,2.2)--(0.6,2.1)--(0.4,2.1)--cycle; \fi \end{scope} } \makeatother \makeatletter %----------> \Compas <---------- \definecolor{wood}{cmyk}{0.00,0.12,0.35,0.05} \define@cmdkey [DES] {Compas} {inclinaisonCompas}{} \define@cmdkey [DES] {Compas} {ecartementCompas}{} \define@cmdkey [DES] {Compas} {couleurCompasBrancheCrayon}{} \define@cmdkey [DES] {Compas} {couleurCompasCrayonMine}{} \define@cmdkey [DES] {Compas} {couleurCompasCrayonCorps}{} \define@cmdkey [DES] {Compas} {couleurCompasCrayonCouleur}{} \define@cmdkey [DES] {Compas} {couleurCompasBague}{} \define@cmdkey [DES] {Compas} {couleurCompasVis}{} \define@cmdkey [DES] {Compas} {couleurCompasBranchePointe}{} \define@cmdkey [DES] {Compas} {couleurCompasPointe}{} \define@cmdkey [DES] {Compas} {couleurCompasTop}{} \define@cmdkey [DES] {Compas} {couleurCompasTopVisSerrage}{} \define@cmdkey [DES] {Compas} {couleurCompasTopTrouSerrage}{} \define@cmdkey [DES] {Compas} {xscale}{} \define@cmdkey [DES] {Compas} {yscale}{} \define@boolkey [DES] {Compas} {orientationCompas}[true]{} \define@boolkey [DES] {Compas} {bagueCompas}[true]{} \presetkeys [DES] {Compas} { inclinaisonCompas = 0, ecartementCompas = 0, couleurCompasBrancheCrayon = black, couleurCompasCrayonMine = black, couleurCompasCrayonCorps = blue, couleurCompasCrayonCouleur = wood, couleurCompasBague = gray!50, couleurCompasVis = yellow, couleurCompasBranchePointe = black, couleurCompasPointe = gray!50, couleurCompasTop = yellow, couleurCompasTopVisSerrage = gray!30, couleurCompasTopTrouSerrage = gray!20, xscale=1, yscale=1 }{} % \newcommand{\Compas}[2][]{% \setkeys[DES]{Compas}{#1} \begin{scope}[shift={(#2)},rotate=\cmdDES@Compas@inclinaisonCompas, xscale=\cmdDES@Compas@xscale, yscale=\cmdDES@Compas@yscale] \ifDES@Compas@orientationCompas % corrélation entre l'orientation du compas et de la vis sur la bague du compas \c = 1 \setkeys[DES]{CrayonGris}{orientation=true} \else \c = -1 \setkeys[DES]{CrayonGris}{orientation=false} \fi % Branche du compas avec la pointe \begin{scope}[xshift=-(\cmdDES@Compas@ecartementCompas cm)*\c/2, rotate={-asin(\cmdDES@Compas@ecartementCompas/20)*\c}] % Pointe du compas \draw[fill=\cmdDES@Compas@couleurCompasPointe] (0*\c,0)--(0*\c,0.4)--(-0.1*\c,0.2)--(-0.1*\c,0.1)--cycle; % Branche pointe \draw[fill=\cmdDES@Compas@couleurCompasBranchePointe,smooth,rounded corners=3pt] (0*\c,0.2)--(0*\c,5)--(-0.1*\c,7.5)--(0*\c,10)--(-0.6*\c,9.8)--(-0.8*\c,9)--(-0.85*\c,8)--(-0.9*\c,7)--(-0.9*\c,6)--(-0.8*\c,5)-- (-0.75*\c,4)--(-0.65*\c,3)--(-0.7*\c,2)--(-0.6*\c,1)--(-0.5*\c,0.7)--(-0.3*\c,0.25)--cycle; \end{scope} % Branche du compas avec le crayon/la mine \begin{scope}[xshift=(\cmdDES@Compas@ecartementCompas cm)*\c/2,rotate={asin(\cmdDES@Compas@ecartementCompas/20)*\c}] % Branche crayon \draw[fill=\cmdDES@Compas@couleurCompasBrancheCrayon,smooth,rounded corners=3pt] (0*\c,2)--(0*\c,5)--(0.1*\c,7.5)--(0*\c,10)--(0.6*\c,9.8)--(0.8*\c,9)--(0.85*\c,8)--(0.9*\c,7)--(0.9*\c,6)--(0.8*\c,5)-- (0.75*\c,4)--(0.65*\c,3)--(0.7*\c,2)--(0*\c,2)--cycle; % Crayon fixé \begin{scope}[rotate=-30*\c] \CrayonGris[bague=true, corps=\cmdDES@Compas@couleurCompasCrayonCorps, mine=\cmdDES@Compas@couleurCompasCrayonMine, couleur=\cmdDES@Compas@couleurCompasCrayonCouleur, couleurBague=\cmdDES@Compas@couleurCompasBague, couleurVis=\cmdDES@Compas@couleurCompasVis, opacite=1, couleurVis=\cmdDES@Compas@couleurCompasTop]{0,0} % Fixation \draw[fill=\cmdDES@Compas@couleurCompasBague](-0.4*\c,2.5)--(-1.355*\c,2.35)--(-0.86*\c,1.5)--(-0.4*\c,1.5)--cycle; \end{scope} \end{scope} % Top du compas \begin{scope}[yshift=-10cm+0.5cm*sqrt(400-\cmdDES@Compas@ecartementCompas*\cmdDES@Compas@ecartementCompas)] % Top \draw[fill=\cmdDES@Compas@couleurCompasTop,rounded corners=4pt] (0,8.6)--(0.3,9)--(0.6,9.8)--(0.7,10)--(0.5,11)--(0.3,12) arc(0:180:0.3)--(-0.5,11)--(-0.7,10)--(-0.6,9.8)--(-0.3,9)--cycle; % Trou \draw[fill=\cmdDES@Compas@couleurCompasTopTrouSerrage] (0,10) circle (0.3); % Vis de serrage \draw[fill=\cmdDES@Compas@couleurCompasTopVisSerrage] (0.125,9.785) -- ++(60:0.25) -- ++(120:0.25) -- ++(180:0.25) -- ++(240:0.25) -- ++(300:0.25) -- cycle; %\draw[red](0,10)node{$\times$}; %vérification visuelle du positionnement de la pièce Top \end{scope} \end{scope} } \makeatother \begin{document} \title{Compas} \maketitle \section{Crayon (avec ou sans bague/vis)} \begin{tikzpicture} \CrayonGris[bague=true, orientation=false, inclinaison=-90, corps=red, xscale=2, yscale=1.5, couleurBague=yellow, couleurVis=brown, opacite=1]{0,0} \CrayonGris[bague=true,orientation=true,corps=green]{-1,1} \CrayonGris[bague=false,orientation=true,corps=white,inclinaison=90]{-2,0} \CrayonGris[bague=false,orientation=true,inclinaison=180]{-1,-1} \end{tikzpicture} \section{Compas} \subsection{Compas avec crayon à droite} \begin{tikzpicture} \Compas[orientationCompas=true]{0,0} \end{tikzpicture} \subsection{Compas avec crayon à gauche} \begin{tikzpicture} \Compas[orientationCompas=false]{0,0} \end{tikzpicture} \subsection{Changement de couleurs et d'inclinaison} \begin{tikzpicture} \Compas[inclinaisonCompas=-30, couleurCompasTop=orange, couleurCompasTopVisSerrage=red, couleurCompasTopTrouSerrage=blue, couleurCompasBranchePointe=yellow, couleurCompasPointe=red, couleurCompasBrancheCrayon=green, couleurCompasBague=black, couleurCompasVis=yellow, orientationCompas=true]{0,0} \end{tikzpicture} \begin{tikzpicture} \Compas[couleurCompasTop=white, couleurCompasTopVisSerrage=white, couleurCompasTopTrouSerrage=white, couleurCompasBranchePointe=white, couleurCompasBrancheCrayon=white, couleurCompasCrayonCouleur=white, couleurCompasCrayonCorps=white, couleurCompasVis=white, couleurCompasBague=white, orientationCompas=true]{0,0} \end{tikzpicture} \subsection{Exemples de changement d'écartement} \paragraph{Ecartement de 12 cm} \begin{tikzpicture} \clip(-7,-2)rectangle(7,13); \Compas[ecartementCompas=12, couleurCompasTop=orange, couleurCompasTopVisSerrage=blue, couleurCompasTopTrouSerrage=gray, couleurCompasBranchePointe=black, couleurCompasBrancheCrayon=green, couleurCompasBague=white, orientationCompas=true]{0,0} % vérification de la position des divers éléments : branches et top par rapport à l'écartement \draw[red](0,0)node{$\times$}; \draw[red](0,0)node[below]{O}; \draw[red](0,8)node{$\times$}; \draw[red](0,8)node[below]{C}; \draw[red](-6,0)node{$\times$}; \draw[red](-6,0)node[below]{A}; \draw[red](6,0)node{$\times$}; \draw[red](6,0)node[below]{B}; \draw[red](-6,10)node{$\times$}; \draw[red](-6,10)node[below]{D}; \draw[red](-6,0)circle(10); \draw[red](6,10)node{$\times$}; \draw[red](6,10)node[below]{E}; \draw[red](6,0)circle(10); \end{tikzpicture} \paragraph{Ecartement de 6 cm} \begin{tikzpicture} \clip(-7,-2)rectangle(7,13); \Compas[ecartementCompas=6, orientationCompas=false]{0,0} \draw[red](0,0)node{$\times$}; \draw[red](0,0)node[below]{O}; \draw[red](0,8)node{$\times$}; \draw[red](0,8)node[below]{C}; \draw[red](-3,0)node{$\times$}; \draw[red](-3,0)node[below]{A}; \draw[red](3,0)node{$\times$}; \draw[red](3,0)node[below]{B}; \draw[red](-3,10)node{$\times$}; \draw[red](-3,10)node[below]{D}; \draw[red](-3,0)circle(10); \draw[red](3,10)node{$\times$}; \draw[red](3,10)node[below]{E}; \draw[red](3,0)circle(10); \end{tikzpicture} \paragraph{Ecartement de 0,2 cm} \begin{tikzpicture} \clip(-7,-2)rectangle(7,13); \Compas[ecartementCompas=0.2, couleurCompasTop=white, couleurCompasTopVisSerrage=white, couleurCompasTopTrouSerrage=white, couleurCompasBranchePointe=white, couleurCompasBrancheCrayon=white, couleurCompasCrayonCouleur=white, couleurCompasCrayonCorps=white, couleurCompasVis=white, couleurCompasBague=white, orientationCompas=true]{0,0} \draw[red](0,0)node{$\times$}; \draw[red](0,0)node[below]{O}; \draw[red](0,8)node{$\times$}; \draw[red](0,8)node[below]{C}; \draw[red](-0.2,0)node{$\times$}; \draw[red](-0.2,0)node[below]{A}; \draw[red](0.2,0)node{$\times$}; \draw[red](0.2,0)node[below]{B}; \draw[red](-0.2,10)node{$\times$}; \draw[red](-0.2,10)node[below]{D}; \draw[red](-0.2,0)circle(10); \draw[red](0.2,10)node{$\times$}; \draw[red](0.2,10)node[below]{E}; \draw[red](0.2,0)circle(10); \end{tikzpicture} \paragraph{Agrandissement et réduction} \begin{tikzpicture} \Compas[couleurCompasTop=orange, couleurCompasTopVisSerrage=red, couleurCompasTopTrouSerrage=blue, couleurCompasBranchePointe=yellow, couleurCompasPointe=red, couleurCompasBrancheCrayon=green, couleurCompasBague=black, couleurCompasVis=yellow, xscale=1.5]{0,0} \end{tikzpicture} \begin{tikzpicture} \Compas[couleurCompasTop=orange, couleurCompasTopVisSerrage=red, couleurCompasTopTrouSerrage=blue, couleurCompasBranchePointe=yellow, couleurCompasPointe=red, couleurCompasBrancheCrayon=green, couleurCompasBague=black, couleurCompasVis=yellow, yscale=0.5]{0,0} \end{tikzpicture} \end{document}
cliquez ici pour masquer/afficher la révision 1

20 Oct '19, 18:01

pdesmons's gravatar image

pdesmons
294919