LaTeX로 이 그림을 그리는 방법은 무엇입니까? TikZ?

LaTeX로 이 그림을 그리는 방법은 무엇입니까? TikZ?

나는 LaTeX를 다룰 수 있다고 생각하지만 실제로 그림을 그리는 데는 문제가 있습니다. TikZ를 처리하는 데 몇 가지 문제가 있습니다. 연습으로 다음 그림을 그리고 싶습니다.

그리는 예

LaTeX를 사용하여 이것을 그리는 방법(주변에 프레임이 있을 필요는 없음)을 알려줄 수 있는 사람이 있을까요? 가장 좋은 경우는 이보다 조금 더 큽니다. 어떻게 해야할지 모르기 때문에 많은 도움이 될 것 같습니다.

답변1

나는 다음과 같은 방법으로 갈 것입니다 :

  1. 세 점의 좌표를 정의합니다(예 (0,0): (1.5,1), 및 (4,2)).
  2. 각 좌표에 대해 채워진 작은 원을 그리고 그 아래에 수학 공식을 사용하여 노드를 놓습니다.
  3. 마지막 좌표 위에 최종 공식을 넣으세요.
  4. 곡선을 그립니다. 곡선 경로로 좌표를 연결하려면 제어점(베지어 곡선으로 그려진 경우) 또는 각 중간 좌표에서 곡선의 들어오고 나가는 각도를 지정해야 하기 때문에 이것이 가장 어려운 부분입니다. 나는 두 번째 해결책을 선택하겠습니다.

따라서 코드는 다음과 같을 수 있습니다.

\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}

(B)해당 지점에서 곡선이 매끄러워지도록 각도를 신중하게 선택해야 합니다. 곡선은 190도에서 (B)에 들어가고 10도에서 나가므로 두 방향 모두 동일선상에 있습니다.

결과

답변2

작업을 수행하는 약간 다른 방법은 경로를 베지어 곡선으로 지정하고 곡선을 따라 필요한 '시간'에 점을 배치하는 것입니다. 또한 quotes라이브러리(및 node contents키)가 사용되므로 최신 PGF릴리스가 필요합니다.

\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}

여기에 이미지 설명을 입력하세요

답변3

일반 TeX을 사용합니다. 최대한 짧게 쓰려고 노력했어요.

\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

여기에 이미지 설명을 입력하세요

답변4

재미를 위해 PSTricks를 사용하세요. 나는 좀 더 우아하게 표현하기 위해 비조각 함수 세트를 사용합니다.

\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}

여기에 이미지 설명을 입력하세요

관련 정보