Como desenhar esta imagem com LaTeX? TikZ?

Como desenhar esta imagem com LaTeX? TikZ?

Acho que posso lidar com LaTeX, mas realmente tenho problemas para desenhar com ele. Tenho alguns problemas para lidar com o TikZ. Como exercício, gostaria de fazer o seguinte desenho:

exemplo para desenhar

Talvez alguém possa me dizer como posso desenhar isso (não necessariamente com a moldura ao redor) com LaTeX? Na melhor das hipóteses, um pouco maior que isso. Seria muito útil porque não sei como fazer.

Responder1

Eu seguiria o seguinte caminho:

  1. Defina as coordenadas para os três pontos (por exemplo (0,0), (1.5,1), e (4,2)).
  2. Para cada coordenada, desenhe um pequeno círculo preenchido e coloque um nó abaixo dele, com a fórmula matemática.
  3. Coloque a fórmula final acima da última coordenada.
  4. Desenhe a curva. Esta é a parte mais difícil, porque conectar coordenadas com caminhos curvos requer a especificação de pontos de controle (se desenhados como curvas Bézier) ou o ângulo de entrada e saída da curva em cada coordenada intermediária. Eu iria para a segunda solução.

Então, o código poderia ser

\documentclass{article}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
\coordinate (A) at (0,0);
\coordinate (B) at (1.5,1);
\coordinate (C) at (4,2);

\foreach \coor/\formula in {A/{x=\phi(0;x)},B/{y=\phi(t;x)},C/{\phi(s;x)}} {
  \fill (\coor) circle (2pt);
  \node[below right, inner xsep=-1ex] at (\coor) {$\formula$};
}
\node[above] at (C) {$\phi(t+s;x)$};
\draw (A) to[in=190] (B) to[out=10, in=220] (C);
\end{tikzpicture}
\end{document}

Observe que os ângulos (B)devem ser escolhidos cuidadosamente para que a curva seja suave naquele ponto. A curva entra em (B) em 190 graus e sai em 10 graus, de modo que ambas as direções são colineares.

Resultado

Responder2

Uma maneira ligeiramente diferente de fazer as coisas, especificando o caminho como uma curva de Bézier e posicionando os pontos nos “tempos” necessários ao longo da curva. Além disso, a quotesbiblioteca é usada (e a node contentschave), portanto requer a PGFversão mais recente.

\documentclass[tikz,border=5]{standalone}
\usetikzlibrary{quotes}
\begin{document}
\begin{tikzpicture}[mark at/.style={shape=circle, fill, inner sep=1pt, node contents=, pos=#1}]
\draw (0,0) .. controls ++(60:2) and ++(220:2) .. (4,2)
  node [mark at=0,   "$x=\varphi(0;x)$" below]
  node [mark at=1,   "$\varphi(s;y)$"   below right,
                     "$\varphi(t+s;x)$" above]
  node [mark at=0.3, "$y=\varphi(t;x)$" below right];
\end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

Responder3

Usando TeX simples. Tentei mantê-lo o mais curto possível.

\input tikz
\tikz[dot/.style={draw,fill,circle,inner sep=1pt}]{
    \draw 
    (0,0) node[dot,label={below:$x=\phi(0;x)$}] {} .. controls ++(0.7,0.8) ..
    (1.5,1) node[dot,label={below:$y=\phi(t;x)$}] {} .. controls ++(1,0.2) ..
    (4,2) node[dot,label={below:$\phi(s;x)$},label={above:$\phi(t+s;x)$}] {};
  }
\bye

insira a descrição da imagem aqui

Responder4

Com PSTricks apenas por diversão. Eu uso um conjunto de funções não por partes para ser mais elegante.

\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-plot,pst-eucl}

\def\x[#1]{#1}
\def\y[#1]{(#1-4)^3/30+2}

\begin{document}
\begin{pspicture}[algebraic,PointNameSep=12pt](8,4)
    \psparametricplot{1}{7}{\x[t]|\y[t]}
    \pstGeonode[
        PointName={x=\varphi(0;x),y=\varphi(t;x),\varphi(s;y)},
        PosAngle={-90,-90,-45},
    ]
        (*1 {\y[x]}){A}
        (*4 {\y[x]}){B}
        (*7 {\y[x]}){C}
    \uput{6pt}[90](C){$\varphi(t+s;x)$}
\end{pspicture}
\end{document}

insira a descrição da imagem aqui

informação relacionada