5

I was trying to replicate an image of a book, but I don't know how to increase the curvature on the curves. I've been done this so far:

\documentclass[tikz, border=2pt]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[brazilian]{babel}
\usepackage{amssymb}
\usepackage{tikz,tkz-euclide}
\usetkzobj{all}
\usepackage{xcolor}
\usetikzlibrary{decorations.markings}

\begin{document}
    \begin{tikzpicture}[scale=3, mydot/.style={fill, circle, inner 
     sep=1.5pt}, decoration={markings, mark=at position 0.5 with 
     {\arrow{latex}}}]

    \draw[thick] (0,0) to[out=5,in=175, looseness=.8] (5,0);
    \draw[thick] (0,0) to[out=-10,in=190, looseness=1.4] (5,0);
    \draw[ultra thick] (0,0) to[out=-15,in=195, looseness=1.5] (5,0);
    \draw[thick] (0,0) to[out=-25,in=205, looseness=1.6] (5,0);
    \draw[thick] (0,0) to[out=-35,in=215, looseness=1.6] (5,0);
    \draw[thick] (0,0) to[out=-45,in=225, looseness=1.7] (5,0);

    \draw[thick] (1,-2) .. controls (2.3,-.567) and (2.5,.3) .. (2.3,1);

    \draw[ultra thick,-latex,shorten >= 5pt] (2.3,-.567) to[out=45,in=45, 
    looseness=0] (2.8,.8);
    \draw[ultra thick,-latex,shorten >= 5pt] (5.7,.7) to[out=190,in=80, 
    looseness=.8] (5,0);
    \draw[ultra thick,-latex,shorten >= 5pt] (5,-1) to[out=120,in=1, 
    looseness=.7] (4,-.3);
    \draw[ultra thick,-latex,shorten >= 5pt] (4,-2) to[out=120,in=1, 
    looseness=.7] (3.1,-1.6);

    \node[mydot] at (0,0) {};
    \node[mydot] at (5,0) {};

    \node at (.9,-2.1) {{\Large $X_p$}};
    \node at (2.9,.85) {{\Large $\xi(p)$}};
    \node at (5.85,.8) {{\Large $\partial M$}};
    \node at (5.3,-1.1) {{\Large $X_0=x$}};
    \node at (4.1,-2.1) {{\Large $X_t$}};
\end{tikzpicture}
\end{document}

The picture I want to replicate is that one bellow:

enter image description here

3

Using proper coordinates and plot command, smooth curves as shown in question can be reproduced. The format to use plot is:

\draw[smooth] plot coordinates{<list of coordinates>};

A minimal working example:

\documentclass[border=3mm]{standalone}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
\fill (0,0) circle (2pt);
\fill (5,0) circle (2pt);
\draw[smooth,tension=0.7] plot coordinates{(0,0) (0.7,0.0) (1.8,0.2) (3.2,0.2) (4.3,0.0) (5,0)};
\draw[thick,smooth,tension=0.7] plot coordinates{(0,0) (0.7,-0.1) (1.8,-0.4) (3.2,-0.4) (4.3,-0.1) (5,0)};
\draw[smooth,tension=0.7] plot coordinates{(0,0) (0.7,-0.11) (1.8,-0.6) (3.2,-0.6) (4.3,-0.11) (5,0)};
\draw[smooth,tension=0.7] plot coordinates{(0,0) (0.7,-0.12) (1.8,-0.7) (3.2,-0.7) (4.3,-0.12) (5,0)};
\end{tikzpicture}
\end{document}

Output: enter image description here

4

Arguably, something like bend right might be better suited to produce some surface with constant mean curvature, but I am not claiming that this necessarily a closer reproduction of your screen shot. The main purpose of this answer is, however, to advertize relative positioning for the nodes and arrows.

\documentclass[tikz, border=2pt]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[brazilian]{babel}
\usepackage{amssymb}
\usepackage{tikz,tkz-euclide}
\usetkzobj{all}
\usepackage{xcolor}
\usetikzlibrary{decorations.markings}

\begin{document}
    \begin{tikzpicture}[scale=3, mydot/.style={fill, circle, inner 
     sep=1.5pt}, decoration={markings, mark=at position 0.5 with 
     {\arrow{latex}}},font=\Large]

    \foreach \X in {-5,5,25,35,45}
    {\draw[thick] (0,0) to[bend right=\X] coordinate[pos=0.8] (aux\X) (5,0);}
    \draw[ultra thick] (0,0) to[bend right=15] coordinate[pos=0.4] (aux1) 
    coordinate[pos=0.7] (aux2) (5,0);

    \draw[thick] (1,-2) node[below]{$X_p$} .. controls (2.3,-.567) and (2.5,.3) .. (2.3,1);


    \draw[ultra thick,latex-] (aux1) -- ++(2,2) node[above]{
    $\xi(p)$};
    \draw[ultra thick,latex-] (aux2) to[bend right] ++ (1.2,-1.2) node[right]{$X_0=x$};
    \draw[ultra thick,latex-] (aux35) to[bend right] ++ (1.2,-0.6)
    node[right]{$X_t$};

    \node[mydot] (L) at (0,0) {};
    \node[mydot] (R) at (5,0) {};
    \draw[ultra thick,latex-] (R) to[bend left] ++ (1,0.5)
    node[right]{$\partial M$};

\end{tikzpicture}
\end{document}

enter image description here

4

Just for the pleasure of using the Béziers curves.

I first printed the image of your book, having previously taken care to remove its greyish background. Then, I measured some distances to position some points and some angles to place the tangents of the Béziers curves.

courbes

It is easier to place these tangents when using relative coordinates (see page 140-141 of manual 3.0.1a).

I composed these curves with an intermediate point placed in the middle by varying the ordinate in a foreach loop. I placed an invisible node named (a\n) at each 0.2 of the second half of each path.

\foreach \y [count=\n]in {.1,-.1,-.75,-.9,-1.14}{
\draw [thin](0,0)
.. controls +(0:1) and +(180:1.5) .. (2.5,\y) ..controls +(0:1.5) and +(180:1) .. (5,0)node[pos=.2](a\n){};
}

I drew Xo separately so I could thicken his line.

\draw [ultra thick,name path=Xo](0,0)
.. controls +(0:1) and +(180:1.5) .. (2.5,-.5) ..controls +(0:1.5) and +(180:1) .. (5,0)node[pos=.4](a){};

To place the tangent, I calculated the intersection named ksi of the curve Xo and Xpand I still used the relative coordinates to draw this tangent.

% tangent
\path[name intersections={of=Xp and Xo,by=ksi}];
\draw[ultra thick,-Triangle,shorten >= 5pt] (ksi)--+(70:1) node[above ]{$\xi(p)$};

The result and the complete code:

capture

\documentclass[tikz, border=5mm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[brazilian]{babel}
\usepackage{amssymb}
\usepackage{tikz,tkz-euclide}
\usetkzobj{all}
\usepackage{xcolor}
\usetikzlibrary{shapes.geometric,intersections,arrows.meta}

\begin{document}
    \begin{tikzpicture}[scale=3, mydot/.style={fill, circle, inner 
     sep=1.5pt},
     every node/.style={font=\Large},
     >={Latex[length=3mm]},
     ]
    \node[mydot] at (0,0) {};
    \node[mydot] at (5,0) (end){};

\foreach \y [count=\n]in {.1,-.1,-.75,-.9,-1.14}{
\draw [thin](0,0)
.. controls +(0:1) and +(180:1.5) .. (2.5,\y) ..controls +(0:1.5) and +(180:1) .. (5,0)node[pos=.2](a\n){};
}

\draw [ultra thick,name path=Xo](0,0) 
.. controls +(0:1) and +(180:1.5) .. (2.5,-.5) ..controls +(0:1.5) and +(180:1) .. (5,0)node[pos=.4](a){};

\draw[<-,shorten <=5pt] (a)to[bend left]+(1,-.5)node[right]{ $X_0=x$};
\draw[thick,name path=Xp] (.8,-1.6)node[below]{ $X_p$}
 .. controls +(50:1) and +(-110:.5) ..
 (2.1,-.5)
 ..controls +(70:.5) and +(-110:1.2)..(2.3,1);

% tangent
\path[name intersections={of=Xp and Xo,by=ksi}];
\draw[ultra thick,-Triangle,shorten >= 5pt] (ksi)--+(70:1) node[above ]{$\xi(p)$};
% nodes
\draw[thick,<-,shorten >= 5pt] (end) to[bend left] +(.5,.5)node[right]{$\partial(M)$};
\draw[<-] (a5)to[bend left]+(.5,-.5)node[right]{$X_t$};
\end{tikzpicture}
\end{document}

Translated with www.DeepL.com/Translator

  • 1
    Thank you for the reference in the Tantau manual. This is a more artistically and well designed plot! – Irlexi Dec 15 '18 at 12:13

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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