答案1
本网站的目的不是让其他人将屏幕截图转换成 LaTeX 代码。相反,你应该提出一些可以让你和其他人学习的问题。例如,这个问题可以用你上一个问题的答案中提供的工具来回答。这些工具包括绘制不规则形状和在路径的某个位置添加箭头。(我很快就做到了。)
\documentclass[tikz,border=3mm]{standalone}
\usepackage{amsfonts}
\usetikzlibrary{arrows.meta,bending,decorations.markings,intersections} %< added
\tikzset{% https://tex.stackexchange.com/a/430239
arc arrow/.style args={%
to pos #1 with length #2}{
decoration={
markings,
mark=at position 0 with {\pgfextra{%
\pgfmathsetmacro{\tmpArrowTime}{#2/(\pgfdecoratedpathlength)}
\xdef\tmpArrowTime{\tmpArrowTime}}},
mark=at position {#1-\tmpArrowTime} with {\coordinate(@1);},
mark=at position {#1-2*\tmpArrowTime/3} with {\coordinate(@2);},
mark=at position {#1-\tmpArrowTime/3} with {\coordinate(@3);},
mark=at position {#1} with {\coordinate(@4);
\draw[-{Stealth[length=#2,bend]}]
(@1) .. controls (@2) and (@3) .. (@4);},
},
postaction=decorate,
},arr/.style={arc arrow=to pos #1 with length 2.3mm},
set mark/.style args={#1/#2}{postaction={decorate,decoration={markings,
mark=at position #1 with {\coordinate(#2);}}}}
}
\begin{document}
\begin{tikzpicture}[declare function={rr(\t)=2*(1+0.2*sin(2*\t+40)-0.3*sin(\t-10)+0.1*rnd);
f1(\t)=0.5*(1+0.2*sin(2*\t+120)+0.1*rnd);}]
\pgfmathsetseed{42}
\draw[set mark={0.05/p0},arr=0.1,set mark={0.23/p2},set mark={0.55/p3},set mark={0.8/p1}] plot[smooth cycle,variable=\t,samples at={0,45,...,315}] (\t:{rr(\t)});
\draw[rotate around={20:(-1.4,-1)},arr=0.65] (-1.4,-1) rectangle
++ (0.8,0.6) (-1,-0.4) coordinate (q2) (-1,-1) coordinate (q3);
\path (@2) node[above right] {$\gamma_1$};
\draw[arr=0.3,set mark={0.65/q0},set mark={0.95/q1},xshift=1cm] plot[smooth cycle,variable=\t,samples
at={0,45,...,315}] (-\t:{f1(\t)});
\path (@2) node[below left] {$\gamma_2$};
\path (45:2.8) node{$U$};
\draw[dashed] (p0) -- (q0) (p1) -- (q1) (p2) -- (q2) (p3) -- (q3);
\end{tikzpicture}
\end{document}