Как нарисовать последовательность стрелок, образующих определенную форму

Как нарисовать последовательность стрелок, образующих определенную форму

Как нарисовать последовательность стрелок, как на следующем рисунке?введите описание изображения здесь

Мне довольно понятно, как сделать прямую последовательность стрелок с помощью tikz, а вот с циклической — нет.

решение1

Вот один из способов использования chains:

введите описание изображения здесь

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{chains, calc}

\tikzset{
    dot/.style={circle, fill, inner sep=0pt, minimum size=4pt},
    myarrow/.style={-latex, shorten <=1pt, shorten >=1pt},
    myarrow2/.style={-latex, shorten <=1pt, shorten >=1pt, bend left},
    elipsis/.style={fill=white, inner sep=1.5pt, circle}
}

\begin{document}

\begin{tikzpicture}[node distance=15mm]
\node[dot, start chain=1, on chain=1, label=above:$g$]{};
\node[dot, on chain=1, join=by myarrow, label=above:$g^2$]{};
\node[dot, on chain=1, join=by myarrow, label=above:$g^3$](g3){};
\node[dot, on chain=1, join=by myarrow, label=above:$g^{t-1}$](gk){};
\node[dot, on chain=1, join=by myarrow, label=above:{$g^t=g^{t+r}$}](A){};
\coordinate(B) at ([yshift=-1.5cm]A);
\coordinate(C) at ($(g3)!.5!(gk)$);
\node[dot, start chain=2 placed {at=($(B)+({(-1)*\tikzchaincount*72+162}:1.5)$)}, on chain=2]{};
\node[dot, on chain=2, join=by myarrow2, label=18:$g^{t+1}$]{};
\node[dot, on chain=2, join=by myarrow2, label=-54:$g^{t+2}$]{};
\node[dot, on chain=2, join=by myarrow2, label=-126:$g^{t+r-2}$]{};
\node[dot, on chain=2, join=by myarrow2, label=-198:$g^{t+r-1}$]{};
\node[dot, on chain=2, join=by myarrow2]{};
\foreach \t in {-82, -90, -98} \node[elipsis] at ($(B)+(\t:1.5)$){.};
\foreach \x in {-1.8,0,1.8} \node[elipsis] at ([xshift=\x mm]C){.};
\end{tikzpicture}

\end{document}

Связанный контент