hastes simétricas com setas

hastes simétricas com setas

Desejo ter um gráfico como o abaixo, no qual xsão mostradas duas hastes com comprimentos e ângulos especificados com o eixo e um círculo na origem. Além disso, duas setas que aparecem na origem. Se eu conseguir traçar esta imagem esquemática, Tikzpoderei fornecer várias questões do meu dever de casa em um estilo muito pitoresco.

insira a descrição da imagem aqui

Responder1

Nada disso é particularmente complicado. A dimlinecoisa é deaqui. Você pode usar siunitxpara compor as dimensões e o â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}

insira a descrição da imagem aqui

Pode fazer sentido aqui girar tudo em um escopo.

\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}

insira a descrição da imagem aqui

informação relacionada