我想在 Tikz 中绘制以下内容(Tikz 是这里的必由之路,对吗?)
由于我是 Tikz 的新手,我尝试手工绘制它,看看是否有人可以帮助我。
如果可能的话,最好也具有系统各部分的尺寸。
多谢。
编辑:我直到现在才这样做:(受到 Marco 的评论启发带球的简单斜坡图)
\begin{tikzpicture}[scale=0.25]
%\draw [help lines] (0,0) grid (25,15);
\draw [fill=gray, gray] (0,0) rectangle (1,6);
\draw [|<->|] (-0.8,0) -- (-0.8,6) node [midway,align=left,xshift=-0.2cm]{$h$};
\draw [fill=gray, gray] (0,5) rectangle (20,6);
\draw [fill=gray, gray] (19,6) rectangle (20,0);
\draw [fill=gray, gray] (2,6) rectangle (3,12);
\draw [|<->|] (-0.8,6.1) -- (-0.8,11.9) node [midway,align=left,xshift=-0.25cm]{$H$};
\end{tikzpicture}
我正在努力使有角度的矩形和球具有与其他矩形相同的风格。
欢迎任何更有经验的 Tikz 用户提出建议!
答案1
为此,我将首先在所需位置放置(并命名)nodes
或。(A基本上是没有大小和标题的 a。)在下面的示例中,我根据位置命名它们,l/r 表示左/右,t/m/b 表示顶部/中/底部。coordinates
coordinate
node
然后,我会根据需要连接节点。在这种情况下,使用粗线可能比定位矩形更容易。请参阅第 38 页TikZ 手册以获得 的解释|-
。
\documentclass[border=2mm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=0.25,inner sep=2pt,myball/.style={draw=black,line width=0.5pt,fill=red!50,circle,radius=2pt,above=1.5pt}]
\coordinate(bl) at (0,0);
\coordinate(ml) at (0,6);
\coordinate(tl) at (2,10);
\coordinate(mr) at (19,6);
\coordinate(br) at (19,0);
\coordinate(rampend) at (16,6);
\draw[line width=3pt,gray](bl)--(ml)--(mr)--(br)-- ++(5,0)
node[near start,myball]{};
\draw[line width=3pt,gray](ml) (ml -| tl) -- (tl) -- (rampend)
node[pos=0.05,myball]{};
\draw [|<->|] (bl) ++(-0.75,0) node(leftlabel)[shape=coordinate]{} -- (ml -| leftlabel) node [midway,left]{$h$};
\draw [|<->|] (ml -| leftlabel) -- (tl -| leftlabel) node [midway,left]{$H$};
\end{tikzpicture}
\end{document}
这虽然不多,但也许可以帮助您入门。