有人可以帮我在 TikZ 中设计这个形状吗

有人可以帮我在 TikZ 中设计这个形状吗

在此处输入图片描述

到目前为止,我已经完成了一些工作,但我不知道该怎么做。特别是因为我还不太清楚如何建立坐标系。下方圆柱体有一个指向它的箭头,顺便说一下,表示其半径为 5.1 厘米。

\begin{tikzpicture}
\draw [help lines] (0,0) grid (16,10);

  \node [ anchor=south west, minimum width=20,minimum height=10] (Response) at (0,0) {};


\draw [draw=black, very thick] (0,8) rectangle (8,10);
\draw [draw=red, dashed, very thick] (3,8) rectangle (5,5);


\end{tikzpicture}

我真的不理解坐标系。我怎样才能更好地理解它?

答案1

我真的认为,如果你问一些小的概念性问题,这样你就可以自己做这些事情,那就更好了。最困难的部分是从屏幕截图中解读内容(而且很可能我读错了一些)。

\documentclass[tikz,border=3mm]{standalone}
\usepackage{siunitx}
\usetikzlibrary{arrows.meta,quotes,positioning,decorations.pathreplacing}
\begin{document}
\begin{tikzpicture}[m/.style={draw,minimum size=1.5em,label=right:$m$}]
 \node[minimum width=9em,minimum height=3em,draw] (M) {$M=\SI{4.58}{\kilo\gram}$};
 \draw[|-|] ([yshift=2ex]M.north west) -- node[fill=white]{$2R=\SI{27.5}{\centi\meter}$} 
    ([yshift=2ex]M.north east);
 \node[minimum width=2em,minimum height=3em,
  path picture={
  \draw[decoration={waves,radius=2em,segment length=3pt,pre length=0pt},decorate]
    ([yshift=2em]path picture bounding box.north) -- (path picture bounding box.south);
  \draw ([xshift=\pgflinewidth/2]path picture bounding box.north west)
   -- ([xshift=\pgflinewidth/2,yshift=3pt]path picture bounding box.south west)
   ([xshift=-\pgflinewidth/2]path picture bounding box.north east) --
   ([xshift=-\pgflinewidth/2,yshift=3pt]path picture bounding box.south east);
    },below,label={[right]30:{$2r=\SI{5.1}{\centi\meter}$}}] (S) at (M.south){};
 \draw ([xshift=0.5ex]S.south) |- ++ (-4em,-1ex) |- ++ (1ex,-1ex) -- ++ (0,1ex)
 ([xshift=-0.5ex]S.south) |- ++ (4em,-1ex) |- ++ (-1ex,-1ex) -- ++ (0,1ex);
 \node[circle,draw,minimum size=1.5em,right=8em of S.south east] (C){};
 \node[m,below=5em of C.east] (m1){};
 \node[m,below=5em of m1] (m2){};
 \draw[semithick] (m1) -- (C.east) arc[start angle=0,end
    angle=90,radius=0.75em+0.5\pgflinewidth] --([yshift=0.5\pgflinewidth]C.north-|S.east);
 \path[semithick,-Triangle,pos=0.9]
  ([yshift=0.5\pgflinewidth]C.north) edge ++ (-1,0)
  (m1.center) edge["$T$"'] ++ (0,1)
  (m1.center) edge["$m\,g$"] ++ (0,-1)
  (m2.center) edge ++ (0,1)
  (m2.center) edge ++ (0,-1);
 \draw[|-|] ([xshift=-3em]m1.west) -- node[fill=white]
 {$h=\SI{0.94}{\centi\meter}$} ([xshift=-3em]m2.west);
\end{tikzpicture}
\end{document}

在此处输入图片描述

对于未来我建议你执行视觉搜索从一个相似的图表开始,有很多。如果你对代码的某些部分有疑问,这将定义一个明确的问题,只要你努力发布一个完整的示例(而不是片段)并清楚地指出哪个部分导致问题,这个问题就会得到更好的接受。

相关内容