复平面中的水平条带

复平面中的水平条带

我想知道是否有可能画出类似的东西: 在此处输入图片描述

答案1

只是为了好玩。请参阅代码中的注释,了解每个函数的作用。

在此处输入图片描述

\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{decorations.pathmorphing,decorations.markings}
\begin{document}
\begin{tikzpicture}[ % define some styles for use later
  % for the "axis", i.e. the dashed arrows passing through the center. Here "latex" is the name of an arrow tip
  myaxis/.style={densely dashed,-latex},
  % for adding arrow tips in a line, uses the decorations.markings library
  arrow in line/.style={
    decoration={
      markings,
      % the position can be a fraction of the length of the path
      % the #1 indicates that the style needs an argument, e.g.
      % arrow in line={0.5}
      % which places an arrow tip halfway along the line
      mark=at position #1 with \arrow{latex}
      },
    postaction={decorate}},
  % node styles for the two black dots
  dot/.style={circle,fill,inner sep=1pt}
]

% radius of the arc in the top line, saved for convenience
\newcommand\circleradius{6mm}

% define coordinates for the four corners of the filled area
\coordinate (A) at (-4,1);
\coordinate (B) at (4,1);
\coordinate (C) at (4,-1);
\coordinate (D) at (-4,-1);

% fill and draw with the given colors
\filldraw[
   draw=black,fill=black!20,
   % the random steps decoration is from the decorations.pathmorphing library
   decoration={random steps,segment length=2mm,}
  ]
 (A) -- (B)
 % add decoration on subpath from B to C
 decorate {-- (C)}  -- (D)
 % and ditto for D to A
 decorate {-- (A)};

% draw the axes
\draw [myaxis] (0,-1.8) -- (0,1.8);
\draw [myaxis] (-4.5,0) -- (4.5,0)
  % pos=0.85 means that this node is added 85% along the way of the line
  node[pos=0.85,above] {$\mathrm{St}_{a}$};

% draw line below filled area
\draw [arrow in line={0.4}] 
%starts at the point that is 0.5 to the right and 0.4 below D
([shift={(0.5,-0.4)}]D) -- ([shift={(-0.5,-0.4)}]C);

% draw line above
\draw [arrow in line={0.7}] ([shift={(-0.5,0.4)}]B) -- 
  % the ++ indicates that the coordinate is relative to the previous coordinate      
  ++(-1.5,0) coordinate (m) % add a coordinate here for later reference
  % draw a circular arc from this point
  arc[start angle=0,end angle=180,radius=\circleradius]
  % draw straight line to the end point
 -- ([shift={(0.5,0.4)}]A)
 node[pos=0.8,above] {$\Gamma_{e,\lambda}$};

% draw the dot in the center of the half circle
\node [dot,label={[label distance=0pt,inner sep=1pt]below right:$\lambda$}] (c) at  ([xshift=-\circleradius]m){};
% draw radius
\draw [densely dotted] (c.center) -- ++(150:\circleradius) node[above right,midway,inner sep=0pt] {$\varepsilon$};

% draw dot inside filled area
\node [dot,label={[label distance=0pt,inner sep=1pt]right:$z$}] (c) at  (-0.7,0.7){};
\end{tikzpicture}
\end{document}

相关内容