答案1
这可能是一个开始(而不是试图重现您的屏幕截图,因为很难阅读)。您可以将该patterns.meta
库用于图案、边界上的标志和平滑的循环decorations.markings
。+
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{decorations.markings,patterns.meta}
\tikzset{plus marks/.style={postaction=decorate,decoration={markings,
mark=between positions 0 and 1-1/#1 step 1/#1 with {\node[blue]{$+$};}}},
plus marks/.default=5}
\begin{document}
\begin{tikzpicture}
\colorlet{dgreen}{green!60!black}
\begin{scope}
\draw[plus marks=16,pattern={Lines[angle=45,distance={5pt}]}] (0,0) rectangle (5,5);
\draw[fill=white,draw=red!20,thick] plot[smooth cycle,looseness=1.3] coordinates
{(1.2,1.2) (2.5,1.3) (3.6,1.5) (3.7,2.2)
(3,3.2) (1.6,2.9) };
\path(2.5,2) node[rectangle,draw,minimum size=1.5em,text=dgreen,
label={[blue]above:$+$},
label={[blue]left:$+$}]{$-$};
\end{scope}
%
\begin{scope}[yshift=-6cm]
\draw[plus marks=16,pattern={Lines[angle=45,distance={5pt}]}] (0,0) rectangle (5,5);
\draw[fill=white,draw=red!20,thick] plot[smooth cycle,looseness=1.3] coordinates
{(1.2,1.2) (2.5,1.3) (3.6,1.5) (3.7,2.2)
(3,3.2) (1.6,2.9) };
\path(2.5,2) node[rectangle,draw,minimum size=1.5em,text=blue,
label={[dgreen]above:$+$},
label={[dgreen]left:$+$}]{$+$};
\end{scope}
%
\begin{scope}[yshift=-12cm]
\draw[plus marks=16] (0,0) rectangle (5,5);
\end{scope}
\end{tikzpicture}
\end{document}