Wie kann ich diese Figur mit Latex zeichnen?

Wie kann ich diese Figur mit Latex zeichnen?

Durch Festkörperreibung amortisierter Oszillator

Wie kann ich diese Figur mit LaTex zeichnen?

Antwort1

Auf dieser Site gibt es bereits eine ganze Reihe Diagramme dieser Art, aber vielleicht noch nicht mit patterns.meta, was uns eine einfachere Kontrolle über die Muster gibt. (Man könnte auch die anglesBibliothek verwenden, aber das wäre für einen Bogen vielleicht etwas übertrieben.)

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

Bildbeschreibung hier eingeben

verwandte Informationen