下面的代码生成了一些部分圆圈。我怎样才能进行剪辑但丢弃部分圆圈?
\documentclass[border=2mm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0) circle (2cm);
\draw (0,0) circle (2.5cm);
\clip (0,0) circle (1.8cm);
\foreach \i in {-2,-1.5,...,2} {
\foreach \j in {-2,-1.5,...,2} {
\draw (\i,\j) circle (0.2cm);
}
}
\end{tikzpicture}
\end{document}
答案1
这里有一种方法:
\documentclass[border=2mm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0) circle (2cm);
\draw (0,0) circle (2.5cm);
%\clip (0,0) circle (1.8cm);
\foreach \i in {-2,-1.5,...,2} {
\foreach \j in {-2,-1.5,...,2} {
\pgfmathsetmacro\distA{sqrt(max((\i+0.2)^2,(\i-0.2)^2)+max((\j+0.2)^2,(\j-0.2)^2)}
\ifdim\distA cm<2cm
\draw (\i,\j) circle (0.2cm);
\fi
}
}
\end{tikzpicture}
\end{document}
这个想法是,内圆点的最大距离(0,0)
必须小于 2 厘米。但这样你就根本不需要修剪了。