【TikZ实例】复分析中的典型围道

发布于 2025-03-21 23:32:57

本文选自:https://www.zhihu.com/question/1727582731/answer/16018000000

1. 半圆形围道:

img

半圆形围道

\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{bending,decorations.markings,arrows.meta,calc}
\usepackage{amsmath}

\begin{document}

\begin{tikzpicture}[>={Kite[inset=0pt,length=0.32cm,bend]},
    decoration={markings,
    mark= at position .1 with {\arrow{>}},
    mark= at position .4 with {\arrow{>}},
    mark= at position 0.7 with {\arrow{>}},
    }]
\def\radius{4}

% contour
\filldraw[postaction = {decorate}, thick ,fill=gray!40] 
    (0:\radius) node[below]{$R$}   arc (0:180:\radius) node[below]{$-R$}-- cycle;

\node at (60:\radius+0.3){$C_{R}$};
% axes
\draw[-Latex] (-1.5*\radius,0) -- (1.5*\radius,0) node[below]{$\Re$} ;
\draw[-Latex] (0,-0.2*\radius) -- (0,1.2*\radius) node[right]{$\Im$};
\end{tikzpicture}

\end{document}

2. 锁孔围道(keyhole 围道)

img

锁孔围道

\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{bending,decorations.markings,arrows.meta,calc}
\usepackage{amsmath}

\begin{document}

\begin{tikzpicture}[>={Kite[inset=0pt,length=0.32cm,bend]},
    decoration={markings,
    mark= at position .1 with {\arrow{>}},
    mark= at position .32 with {\arrow{>}},
    mark= at position .55 with {\arrow{>}},
    % mark= at position 0.86 with {\arrow{>}},
    }
]
    \def\gap{0.3}
    \def\bigradius{3.5}
    \def\littleradius{0.5}

    % contour
\filldraw[postaction = {decorate}, thick ,fill=gray!40] 
let 
    \n1 = {asin(\gap/2/\bigradius)},
    \n2 = {asin(\gap/2/\littleradius)}
in
    (0+\n1:\bigradius) node[above right]{$R$}  arc (0+\n1:360-\n1:\bigradius) node[below left]{$C_{R}$} -- (0-\n2:\littleradius) arc (360-\n2:0+\n2:\littleradius) node[above right]{$\delta$} -- cycle;

    \draw[thick,->] (300:\littleradius) arc (300:130:\littleradius) node[above]{$C_{\delta}$};
    
    % axes
    \draw[-Latex] (-1.5*\bigradius,0) -- (1.5*\bigradius,0) node[below]{$\Re$} ;
    \draw[-Latex] (0,-1.2*\bigradius) -- (0,1.2*\bigradius) node[right]{$\Im$};
\end{tikzpicture}

\end{document}

3. Bromwich 围道

img

Bromwich 围道

\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{bending,decorations.markings,arrows.meta,calc}
\usepackage{amsmath}

\begin{document}

\begin{tikzpicture}[>={Kite[inset=0pt,length=0.32cm,bend]},
    decoration={markings,
    mark= at position .05 with {\arrow{>}},
    mark= at position .29 with {\arrow{>}},
    mark= at position .6 with {\arrow{>}},
    mark= at position 0.9 with {\arrow{>}},
    },scale=0.8]
    \def\radius{4}
    \def\angle{60}
    \def\gap{0.3}
    \def\littleradius{0.6}

\draw[dashed,thick]  
    let 
        \n1 = {cos(\angle)},
    in
        (\radius*\n1,-\radius*1.2) node[right]{$\sigma - i\infty$}-- (\radius*\n1,\radius*1.2)node[right]{$\sigma+i\infty$};

 % contour
 \filldraw[postaction = {decorate}, thick ,fill=gray!40] (\angle:\radius)node[right]{$B$} arc (\angle:360-\angle:\radius)node[right]{$A$} -- cycle;

\draw (0,0) -- (\angle:\radius) node[xshift=-20pt,yshift=-20pt]{$R$};
\node at (120:\radius+0.3){$C_R$};    

% axis
\draw[-Latex] (-1.8*\radius,0) -- (1.2*\radius,0) node[below]{$\Re$} ;
\draw[-Latex] (0,-1.2*\radius) -- (0,1.2*\radius) node[right]{$\Im$};
\end{tikzpicture}

\end{document}

需要的话收藏吧!

0 条评论

发布
问题