0

any suggestion on how to draw the splines within the circle shown in this figure:

enter image description here

with TikZ?

1 Answer 1

1

Sadly, due to the rounded corners, there are a few inaccuracies that make the arrow tips not align correctly to the paths. It would have been possible to directly decorate the paths, but then again the exact positioning on the path is difficult to calculate.

\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{decorations.markings, arrows.meta}

\begin{document}

\begin{tikzpicture}[>=Stealth]

    \draw (0,0) circle (2);
    
    \foreach \r/\s in {1.6/.2, 1.2/.6} {
        \draw[rounded corners] 
            ({acos(\s/\r)}:\r) arc 
            ({acos(\s/\r)}:{-acos(\s/\r)}:\r) -- 
            cycle;
        \draw[rounded corners] 
            ({180+acos(\s/\r)}:\r) arc 
            ({180+acos(\s/\r)}:{180-acos(\s/\r)}:\r) -- 
            cycle;
    }
    
    \foreach \a/\r/\t in {
        75/2/255, 105/2/105, 75/-2/255, 105/-2/105,
        0/.2/0, 30/1.6/210, -30/1.6/150, 
        0/.6/0, 30/1.2/210, -30/1.2/150, 
        0/-.2/0, 30/-1.6/210, -30/-1.6/150, 
        0/-.6/0, 30/-1.2/210, -30/-1.2/150
    } {
        \draw[draw=none, postaction={decorate}, 
            decoration={markings, mark=at position .5 with {\arrow[rotate=\t]{>}}}] 
            ([yshift=-1pt]\a:\r) -- ([yshift=1pt]\a:\r);
    }
    
    \draw[->] (0,1.6) -- (0,2);
    \draw[->] (0,-2) -- (0,-1.6);

    \draw[-{>[open]}] (0,2.6) node[right] {$w_\infty$} -- (0,2.2);
    
\end{tikzpicture}

\end{document}

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.