如何在 tikz 中变形轮廓

如何在 tikz 中变形轮廓

我正在尝试弄清楚如何将沿 A 到 K 的曲线与最右上点连接起来。换句话说,我希望在绘图的右侧部分仍留出更多的圆;现在我有一条沿 K 到 H(...) 的直线,但更希望从 K 到 H(...) 的曲线多一点。我该怎么做?另外——如果我想要在该点上方再画一个小半圆,比如 x=-1.5,y=.2,以及 x=-1.5,y=.2 下方的一个半圆,有什么方法可以做到这一点而不破坏这幅图像吗?谢谢!到目前为止,我得到的是这样的(不完全一样,但很接近):

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc,decorations.markings,positioning}
\begin{document}
        \begin{tikzpicture}
        %configurable parameters
        \def\gap{0.4}
        \def\bigradius{4}
        \def\littleradius{1}
        %axes
        \draw[line width=2pt,->](-1.5*\bigradius,0) -- (1.5*\bigradius,0)
        (0,-1.5*\bigradius) -- (0,1.5*\bigradius);
        \draw[line width=2pt,->] (0,0)--(45:\littleradius);
        \draw[line width=2pt,->](0,0) -- (135:\bigradius); \node[above
        right] at (45:\littleradius/1.5) {\large\bf{$\varepsilon$}};
        \draw[line width=1pt,decoration={markings,
            mark=at position 0.07 with{\arrow[line width =2pt]{>}},%{latex}},
            mark=at position 0.17 with{\arrow[line width =2pt]{>}},
            mark=at position 0.27 with{\arrow[line width =2pt]{>}},
            mark=at position 0.35 with {\arrow[line width =2pt]{>}},%{latex}},
            mark=at position 0.47 with{\arrow[line width =2pt]{>}},
            mark=at position 0.53 with{\arrow[line width =2pt]{>}},%{latex}},
            mark=at position 0.6 with {\arrow[line width =2pt]{>}},%{latex}},
            mark=at position 0.65 with {\arrow[line width =2pt]{>}},%{latex}},
            mark=at position 0.7 with{\arrow[line width =2pt]{>}},
            mark=at position 0.8 with{\arrow[line width =2pt]{>}},
            mark=at position 0.85 with{\arrow[line width =2pt]{>}},
            mark=at position 0.955 with{\arrow[line width =2pt]{>}}},%{latex}}},
        postaction={decorate}]
        let
        \n1={asin(\gap/2/\bigradius)},
        \n2={asin(\gap/2/\littleradius)}
        in (180-\n1:\bigradius) -- (-180-\n2:\littleradius)
        arc(180-\n2:-180+\n2:\littleradius)--(-180+\n1:\bigradius)
        arc(-180+\n1:-90:\bigradius)--(3,-4)--(3,4)--(0,4)arc(90:(180-\n1):\bigradius);
        \coordinate (T) at (135:2); \node[above] at (T){$T$}; 
        \coordinate (H) at (1.5*\bigradius,0); \node[below] at (H){\Large\bf {x}};
        \coordinate (J) at (0,1.5*\bigradius); \node[left] at (J){$\Large\bf y$}; 
        \coordinate (C) at (\littleradius,0); \node[below right] at (C) {\Large\bf {C}};
        \coordinate (D) at ({180-asin(\gap/2/\littleradius)}:1); \node[above left] at (D) {$ \Large\bf B$}; 
        \coordinate (E) at ({-180+asin(\gap/2/\littleradius)}:1); \node[below left] at (E) {$\Large\bf D$}; 
        \coordinate (F) at ({180-asin(\gap/2/\bigradius)}:\bigradius); \node[above left] at (F) {$\Large\bf A$}; 
        \coordinate (G) at ({-180+asin(\gap/2/\bigradius)}:\bigradius); \node[below left] at (G) {$\Large\bf  E$}; 
        \coordinate (P) at (0,-4); \node[below right] at (P) {$\Large\bf F$}; \coordinate(Q) at (3,-4); \node[right] at (Q) {$\Large\bf G(\gamma-iT)$}; 
        \coordinate (R) at (3,4); \node[right] at (R) {$\Large\bf H(\gamma+iT)$}; 
        \coordinate (S) at (0,4);\node[above right] at (S) {$\Large\bf K$};
        \end{tikzpicture}
\end{document}

在此处输入图片描述

这就是我要找的: 在此处输入图片描述

答案1

我只是改变了路径,让它经过点(45:\bigradius)

let
        \n1={asin(\gap/2/\bigradius)},
        \n2={asin(\gap/2/\littleradius)}
        in (180-\n1:\bigradius) -- (-180-\n2:\littleradius)
        arc(180-\n2:-180+\n2:\littleradius)--(-180+\n1:\bigradius)
        arc(-180+\n1:-45:\bigradius)--(45:\bigradius)arc(45:(180-\n1):\bigradius);

截屏

\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc,decorations.markings,positioning}
\begin{document}
        \begin{tikzpicture}
        %configurable parameters
        \def\gap{0.4}
        \def\bigradius{4}
        \def\littleradius{1}
        %axes
        \draw[line width=2pt,->](-1.5*\bigradius,0) -- (1.5*\bigradius,0)
        (0,-1.5*\bigradius) -- (0,1.5*\bigradius);
        \draw[line width=2pt,->] (0,0)--(45:\littleradius);
        \draw[line width=2pt,->](0,0) -- (135:\bigradius); \node[above
        right] at (45:\littleradius/1.5) {\large\bf{$\varepsilon$}};
        \draw[line width=1pt,decoration={markings,
            mark=at position 0.07 with{\arrow[line width =2pt]{>}},%{latex}},
            mark=at position 0.17 with{\arrow[line width =2pt]{>}},
            mark=at position 0.27 with{\arrow[line width =2pt]{>}},
            mark=at position 0.35 with {\arrow[line width =2pt]{>}},%{latex}},
            mark=at position 0.47 with{\arrow[line width =2pt]{>}},
            mark=at position 0.53 with{\arrow[line width =2pt]{>}},%{latex}},
            mark=at position 0.6 with {\arrow[line width =2pt]{>}},%{latex}},
            mark=at position 0.65 with {\arrow[line width =2pt]{>}},%{latex}},
            mark=at position 0.7 with{\arrow[line width =2pt]{>}},
            mark=at position 0.8 with{\arrow[line width =2pt]{>}},
            mark=at position 0.85 with{\arrow[line width =2pt]{>}},
            mark=at position 0.955 with{\arrow[line width =2pt]{>}}},%{latex}}},
        postaction={decorate}]
        let
        \n1={asin(\gap/2/\bigradius)},
        \n2={asin(\gap/2/\littleradius)}
        in (180-\n1:\bigradius) -- (-180-\n2:\littleradius)
        arc(180-\n2:-180+\n2:\littleradius)--(-180+\n1:\bigradius)
        arc(-180+\n1:-45:\bigradius)--(45:\bigradius)arc(45:(180-\n1):\bigradius);
        \coordinate (T) at (135:2);
         \node[above] at (T){$T$}; 
        \coordinate (H) at (1.5*\bigradius,0);
         \node[below] at (H){\Large\bf {x}};
        \coordinate (J) at (0,1.5*\bigradius);
         \node[left] at (J){$\Large\bf y$}; 
        \coordinate (C) at (\littleradius,0);
         \node[below right] at (C) {\Large\bf {C}};
        \coordinate (D) at ({180-asin(\gap/2/\littleradius)}:1);            \node[above left] at (D) {$ \Large\bf B$}; 
        \coordinate (E) at ({-180+asin(\gap/2/\littleradius)}:1);           \node[below left] at (E) {$\Large\bf D$}; 
        \coordinate (F) at ({180-asin(\gap/2/\bigradius)}:\bigradius); 
        \node[above left] at (F) {$\Large\bf A$}; 
        \coordinate (G) at ({-180+asin(\gap/2/\bigradius)}:\bigradius); 
        \node[below left] at (G) {$\Large\bf  E$}; 
        \coordinate (P) at (0,-4);
        
         \node[below right] at (P) {$\Large\bf F$};
         \coordinate(Q) at (3,-4);
        \node[right] at (Q) {$\Large\bf G(\gamma-iT)$}; 
        \coordinate (R) at (3,4); 
        \node[right] at (R) {$\Large\bf H(\gamma+iT)$}; 
        \coordinate (S) at (0,4);
        \node[above right] at (S) {$\Large\bf K$};
        \end{tikzpicture}
\end{document}

相关内容