剪辑圆形阵列但只保留整个圆形

剪辑圆形阵列但只保留整个圆形

下面的代码生成了一些部分圆圈。我怎样才能进行剪辑但丢弃部分圆圈?

\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 厘米。但这样你就根本不需要修剪了。

在此处输入图片描述

相关内容