答案1
代码将连接的线路径定义为\PathA
宏\PathE
。
路径组合成闭合路径进行填充。高度设置是通过使用具有所需填充高度的矩形作为剪切路径来实现的。
最后绘制出线条路径。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\newcommand*{\Drawing}[1]{%
\begin{tikzpicture}
\def\unit{5mm}
\tikzset{
x=\unit,
y=\unit,
}
\def\PathA{% from right to left
(17, 5) -- (18, 4) -- (18, 3.5)
-- (17, 2.5) -- (17, 0) -- (0, 0) -- (0, 5)
}
\def\PathB{
(1, 5) -- (1, 1)
-- (3, 1) -- (3, 3) -- (2, 5)
}
\def\PathC{
(5, 5) -- (4, 3) -- (4, 1)
-- (6, 1) -- (8, 5)
}
\def\PathD{
(9, 5) -- (11, 1)
-- (12, 1) -- (12, 2) -- (13, 3) -- (11, 5)
}
\def\PathE{
(12, 5) -- (14, 3) -- (13, 2) -- (13, 1)
-- (16, 1) -- (16, 2.5) -- (15, 3.5) -- (15, 4) -- (16, 5)
}
\begin{scope}
\clip (0, 0) rectangle (18, #1);
\fill[blue]
\PathA -- \PathB -- \PathC -- \PathD -- \PathE -- cycle
;
\end{scope}
\draw[very thick, line cap=round]
\PathA
\PathB
\PathC
\PathD
\PathE
;
\end{tikzpicture}%
\newpage
}
\foreach \h in {0, .25, ..., 5} {
\Drawing\h
}
\end{document}
问题图片可在 上找到\Drawing{4}
。动画版本:
无剪辑的版本: