我正在尝试弄清楚如何将沿 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}