Como posso desenhar esta figura usando látex?

Como posso desenhar esta figura usando látex?

Oscilador amortizado por fricção sólida

Como posso desenhar essa figura usando LaTex?

Responder1

Já existem alguns diagramas desse tipo neste site, mas talvez ainda não com o patterns.meta, o que nos dá um controle mais fácil sobre os padrões. (Também é possível empregar a anglesbiblioteca, mas isso pode ser um pouco exagerado para um arco.)

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{decorations.pathmorphing,patterns.meta} 
\pgfdeclarepattern{
name=shatch, parameters={\hatchsize,\hatchangle,\hatchlinewidth}, 
bottom left={\pgfpoint{-.1pt}{-.1pt}},
top right={\pgfpoint{\hatchsize+.1pt}{\hatchsize+.1pt}}, tile size={\pgfpoint{\hatchsize}{\hatchsize}},
tile transformation={\pgftransformrotate{\hatchangle}}, code={
\pgfsetlinewidth{\hatchlinewidth} 
\pgfpathmoveto{\pgfpoint{-.1pt}{\hatchsize/2}} 
\pgfpathlineto{\pgfpoint{\hatchsize+.1pt}{\hatchsize/2}} 
\pgfusepath{stroke}
} }
\tikzset{
hatch size/.store in=\hatchsize,
hatch angle/.store in=\hatchangle,
hatch line width/.store in=\hatchlinewidth, 
hatch size=5pt,
hatch angle=0pt,
hatch line width=.5pt,
}
\begin{document}
\begin{tikzpicture}[declare function={beta=30;},>=stealth,semithick]
 \begin{scope}[rotate=-beta]
  \path[pattern=shatch] (0,0) rectangle (-0.4,1.2); 
  \draw[<->] (0,2) node[right] {$y$} |- (6,0) node[right]{$x$}
   coordinate[pos=0.95](x);
  \draw[decorate,decoration={zigzag,segment length=4mm,amplitude=2mm}]
   (0,0.2) -- (4,0.2) node[midway,above=2ex]{$(k,\ell)$};
  \draw[fill=cyan] (3.8,0) rectangle ++ (0.6,0.4); 
  \path (4.1,0.5) node[above right] {$M(m)$};
 \end{scope}
 \draw (x) -- ++ (-5,0);
 \draw (x) + (-2,0) arc[start angle=180,end angle=180-beta,radius=2]
  node[midway,left] {$\beta$};
 \draw[<-] (3,2) -- ++ (0,1); 
 \draw[->] (3.1,2.6) -- ++ (0.5,0) node[midway,below] {$g$}; 
\end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

informação relacionada