如何使用 tikz 绘制与阴影非均匀形状相交的圆?

如何使用 tikz 绘制与阴影非均匀形状相交的圆?

我正在尝试绘制这幅图:

圆与阴影非均匀形状相交

我尝试了很多方法,比如定义这个

\newcommand\irregularcircle[2]{
    \pgfextra {\pgfmathsetmacro\len{(#1)+rand*(#2)}}
    +(0:\len pt)
    \foreach \a in {10,20,...,120}{
        \pgfextra {\pgfmathsetmacro\len{(#1)+rand*(#2)}}
        -- +(\a:\len pt)
    } -- cycle
}

但是它没有给出一个位于 x 轴和圆之间的图形,我不知道该怎么做。谢谢。

答案1

一种可能性是建立一个随机列表并通过它绘制一条平滑的曲线。

\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{patterns}
\begin{document}
\begin{tikzpicture}
 \pgfmathsetseed{9}
 \foreach \X in {0,...,11}
 {\ifnum\X=0
   \pgfmathsetmacro{\myradius}{2}
   \xdef\myLst{\myradius}
  \else
   \pgfmathsetmacro{\myradius}{{\myLst}[\X-1]+0.5*(rnd-0.5)}
   \xdef\myLst{\myLst,\myradius}
  \fi}
 \xdef\myLst{\myLst,2} 
 \draw[pattern=north east lines] (2,0) -- 
 plot[smooth,variable=\x,samples at={0,...,12}] 
  ([xshift=2cm]-\x*10:{{\myLst}[\x]}) -- (-60:2) arc(-60:0:2);
 \draw (120:2) arc (120:-120:2);
 \draw[-latex] (0,0) -- (5,0);
 \draw[dashed] (2,0) -- (2,-pi);
 \draw (2,0) -- ++ (-120:pi);
 \draw[latex-latex] (2,0) + (-120:2.7) arc(-120:-90:2.7) node[midway,below]{$\mu$};
 \draw[-latex] (2,0) -- ++ (-45:1) node[pos=1.2]{$z$};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容