2

How to draw the first picture in Figure 1 of the paper on page 2?

I want to draw a similar picture for a hexagon. The following are my codes.

\begin{tikzpicture}
\foreach \a in {1,2,...,5} { %\a is the angle variable
\draw (-\a*72+72*2+18:2cm)--(-\a*72+72*3+18:2cm); 
}

\coordinate (b1) at (-1*72+72*2+18:2cm);
\coordinate (b2) at (-2*72+72*2+18:2cm);
\coordinate (b3) at (-3*72+72*2+18:2cm);
\coordinate (b4) at (-4*72+72*2+18:2cm);
\coordinate (b5) at (-5*72+72*2+18:2cm);

\draw (-1*72+72*2+18:2cm)--(-5*72+72*3+18:2cm); 

\node(a1) at (-1*72+72*2+18:2cm) [above=1] {1};
\node(a2) at (-2*72+72*2+18:2cm) [right=1] {2};
\node(a3) at (-3*72+72*2+18:2cm) [right=1] {3};
\node(a4) at (-4*72+72*2+18:2cm) [left=1] {4};
\node(a5) at (-5*72+72*2+18:2cm) [left=1] {5};

\end{tikzpicture}

I want to draw a red arrow which is parallel to the line 2 to 1 and interset the line from 1 to 4. This arrow ends when interset the line from 1 to 4. How to do this in tikz? I tried to shift the coordinates of 1 and 2 but not successful.

Thank you very much.

The graphs I want to draw are enter image description here

1 Answer 1

4

Here is a proposal.

\documentclass[tikz,border=3.14pt]{standalone}
\usetikzlibrary{calc,intersections}
% from https://tex.stackexchange.com/a/39282/121799
\usetikzlibrary{decorations.markings}
\tikzset{->-/.style={postaction={decorate,decoration={
  markings,
  mark=at position #1 with {\arrow{>};}}}}}
\begin{document}
\begin{tikzpicture}
\foreach \a in {1,2,...,5} { %\a is the angle variable
\draw (-\a*72+72*2+18:2cm) coordinate[label=-\a*72+72*2+18:\a] (b\a) --(-\a*72+72*3+18:2cm); 
}
\draw[name path=bl14] (-1*72+72*2+18:2cm)--(-5*72+72*3+18:2cm); 

\def\mydist{2.5mm}

\draw[red,-latex] ($ (b4)!\mydist!90:(b1) $) -- ($ (b1)!\mydist!-90:(b4) $);

\path[name path=aux21] ($ (b2)!\mydist!90:(b1) $) -- ($ (b1)!\mydist!-90:(b2) $);
\path[name path=aux54] ($ (b5)!\mydist!90:(b4) $) -- ($ (b4)!\mydist!-90:(b5) $);
\path[name path=aux43] ($ (b4)!\mydist!90:(b3) $) -- ($ (b3)!\mydist!-90:(b4) $);

\draw[red,-latex,shorten <=-3mm,name intersections={of=aux21 and bl14,by=aux1}]
($ (b2)!\mydist!90:(b1) $) -- (aux1);
\draw[red,-latex,shorten >=-3mm] (aux1) -- ($ (b5)!\mydist!-90:(b1) $);

\draw[red,-latex,shorten <=-3mm,name intersections={of=aux54 and bl14,by=aux2}]
($ (b5)!\mydist!90:(b4) $) -- (aux2);

\draw[red,-latex,shorten >=-3mm,name intersections={of=aux43 and bl14,by=aux3}]
 (aux3) -- ($ (b3)!\mydist!-90:(b4) $);

\draw[red,-latex,shorten >=-3mm,shorten <=-3mm] ($ (b3)!\mydist!90:(b2) $) -- ($ (b2)!\mydist!-90:(b3) $);

\begin{scope}[xshift=6cm,>=latex]
 \draw (0,0) circle (2);
 \foreach \X [evaluate=\X as \Y using 90+72-72*\X] in {1,...,5}
 {\node[fill,circle,inner sep=1.5pt,label=\Y:\X] (c\X) at (\Y:2){};}
 \draw[->-/.list={1/6,1/2,5/6}] (c4) to[bend left=15] (c1);
 \draw[->-/.list={1/6,1/2,5/6}] (c1) to[bend left=15] (c4);
 \draw[->-/.list={1/6,1/2,5/6}] (c5) to[bend right=15] (c3);
 \draw[->-/.list={1/2}] (c3) to[bend right=15] (c2);
 \draw[->-/.list={1/6,1/2,5/6}] (c2) to[bend right=15] (c5);
\end{scope}
\end{tikzpicture}
\end{document}

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .