Deseo tener un gráfico como el siguiente en el que x
se muestran dos varillas con longitudes y ángulos específicos con el eje y un círculo en el origen. Además, dos flechas que se muestran en el origen. Si puedo trazar esta imagen esquemática, Tikz
podré proporcionar varias preguntas de mi tarea en un estilo muy pintoresco.
Respuesta1
Nada de esto es particularmente complicado. La dimline
cosa es deaquí. Podrías usarlo siunitx
para componer las dimensiones y el ángulo.
\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{calc,decorations.pathreplacing,angles,quotes}
\newif\ifdrawdimlineleft
\newif\ifdrawdimlineright
\tikzset{dimlabel distance/.initial=5mm,
vertical lines extend/.initial=5mm,
vertical dim line/.style={gray,thin},
dim arrow line/.style={latex-latex,thin},
dim label/.style={},
left dimline/.is if=drawdimlineleft,
left dimline=true,
right dimline/.is if=drawdimlineright,
right dimline=true,
indicate dimensions/.style={decorate,decoration={
show path construction,
lineto code={
\draw[dim arrow line]
($ (\tikzinputsegmentfirst)!\pgfkeysvalueof{/tikz/dimlabel distance}!-90:(\tikzinputsegmentlast) $) -- ($ (\tikzinputsegmentlast)!\pgfkeysvalueof{/tikz/dimlabel distance}!90:(\tikzinputsegmentfirst) $)
\ifx#1\empty
\else
node[midway,sloped,fill=white,dim label]{#1}
\fi;
\ifdrawdimlineleft
\draw[vertical dim line] (\tikzinputsegmentfirst) --
($ (\tikzinputsegmentfirst)!\pgfkeysvalueof{/tikz/vertical lines
extend}!-90:(\tikzinputsegmentlast) $);
\fi
\ifdrawdimlineright
\draw[vertical dim line] (\tikzinputsegmentlast) --
($ (\tikzinputsegmentlast)!\pgfkeysvalueof{/tikz/vertical lines extend}!90:(\tikzinputsegmentfirst) $);
\fi
}}}}
\begin{document}
\begin{tikzpicture}
\draw[thick,-stealth] (-5,0) -- (5,0) coordinate(x) node[below]{$\mu$};
\draw[thick,-stealth] (0,-5) -- (0,3) node[left]{$y$};
\draw[dashed] (-30:3) coordinate(A) -- (0,0) coordinate(O) ;
\draw[dashed,postaction={indicate dimensions={$L_1=2.5\,$m},
dim arrow line/.append style={solid}}] (O) -- (-120:2.5) coordinate(B);
\draw[thick] (A) -- ++(-30:3);
\draw[thick,postaction={indicate dimensions={$L_2=3\,$m},
dim arrow line/.append style={solid}}] (B) -- ++ (-120:3);
\draw[thick,red,-stealth] (O) -- (60:1.5);
\draw[thick,red,-stealth] (O) -- (150:1.5);
\pic [draw,green!60!black,angle radius=1cm,angle eccentricity=1.4,
"$30^\circ$"] {angle = A--O--x};
\end{tikzpicture}
\end{document}
Podría tener sentido aquí rotar todo en un alcance.
\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{calc,decorations.pathreplacing,angles,quotes}
\newif\ifdrawdimlineleft
\newif\ifdrawdimlineright
\tikzset{dimlabel distance/.initial=5mm,
vertical lines extend/.initial=5mm,
vertical dim line/.style={gray,thin},
dim arrow line/.style={latex-latex,thin},
dim label/.style={},
left dimline/.is if=drawdimlineleft,
left dimline=true,
right dimline/.is if=drawdimlineright,
right dimline=true,
indicate dimensions/.style={decorate,decoration={
show path construction,
lineto code={
\draw[dim arrow line]
($ (\tikzinputsegmentfirst)!\pgfkeysvalueof{/tikz/dimlabel distance}!-90:(\tikzinputsegmentlast) $) -- ($ (\tikzinputsegmentlast)!\pgfkeysvalueof{/tikz/dimlabel distance}!90:(\tikzinputsegmentfirst) $)
\ifx#1\empty
\else
node[midway,sloped,fill=white,dim label]{#1}
\fi;
\ifdrawdimlineleft
\draw[vertical dim line] (\tikzinputsegmentfirst) --
($ (\tikzinputsegmentfirst)!\pgfkeysvalueof{/tikz/vertical lines
extend}!-90:(\tikzinputsegmentlast) $);
\fi
\ifdrawdimlineright
\draw[vertical dim line] (\tikzinputsegmentlast) --
($ (\tikzinputsegmentlast)!\pgfkeysvalueof{/tikz/vertical lines extend}!90:(\tikzinputsegmentfirst) $);
\fi
}}}}
\begin{document}
\foreach \X in {30,33,...,60,57,54,...,33}
{\begin{tikzpicture}
\draw[thick,-stealth] (-5.5,0) -- (5,0) coordinate(x) node[below]{$\mu$};
\draw[thick,-stealth] (0,-6.5) coordinate (my) -- (0,3) node[left]{$y$};
\pgfmathsetmacro{\myangle}{\X}
\begin{scope}[rotate=-\myangle]
\draw[dashed] (2.5,0) coordinate(A) -- (0,0) coordinate(O);
\draw[dashed,postaction={indicate dimensions={$L_1=2.5\,$m},
dim arrow line/.append style={solid}}] (O) -- (0,-2.5) coordinate(B);
\draw[thick] (A) -- ++(2.5,0);
\draw[thick,postaction={indicate dimensions={$L_2=3\,$m},
dim arrow line/.append style={solid}}] (B) -- ++ (0,-3);
\draw[thick,red,stealth-stealth] (-1.5,0) -- (O) -- (0,1.5);
\pic [draw,green!60!black,angle radius=1cm,angle eccentricity=1.4,
"$\pgfmathprintnumber{\myangle}^\circ$"] {angle = A--O--x};
\pic [draw,green!60!black,angle radius=1cm,angle eccentricity=1.4,
"$\pgfmathparse{90-\myangle}\pgfmathprintnumber{\pgfmathresult}^\circ$"] {angle = my--O--A};
\end{scope}
\end{tikzpicture}}
\end{document}