使用 TikZ 绘制流体路径线、条纹线、流线

使用 TikZ 绘制流体路径线、条纹线、流线

我正在尝试使用 TikZ 绘制流体路径线、条纹线和流线图。代码

\documentclass{minimal}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
  \fill [fill=blue!25] (0.0, 0.0) -- (0.0, 2.0) -- (6.0, 2.0) -- (6.0, 1.0) to[out=180, in=0] (0.0, 0.0);
  \filldraw [semithick, fill=gray!50] (0.0, 2.0) rectangle (6.0, 2.1);
  \filldraw [semithick, fill=gray!50] (0.0, -0.1) -- (0.0, 0.0) to[out=0, in=180] (6.0, 1.0) -- (6.0, 0.9) to[out=180, in=0] (0.0, -0.1);
  %
  \draw [thick] (0.25, 0.25) to[out=0, in=180] node [pos=0.1, above] {$t_{1}$} node [pos=0.5, above] {$t_{2}$} node [pos=0.9, above] {$t_{3}$} (5.75, 1.125);
\end{tikzpicture}
\end{document}

生成以下图像:

在此处输入图片描述

我希望标签 $t_{1}$、$t_{2}$ 和 $t_{3}$ 下的位置的黑线上有闭合的圆圈。有人可以建议如何做到这一点吗?谢谢。

答案1

您还可以随时添加额外的节点,一个用于填充圆圈,一个用于标签:

在此处输入图片描述

笔记:

代码:

\documentclass{article}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
  \fill [fill=blue!25] (0.0, 0.0) -- (0.0, 2.0) -- (6.0, 2.0) -- (6.0, 1.0) to[out=180, in=0] (0.0, 0.0);
  \filldraw [semithick, fill=gray!50] (0.0, 2.0) rectangle (6.0, 2.1);
  \filldraw [semithick, fill=gray!50] (0.0, -0.1) -- (0.0, 0.0) to[out=0, in=180] (6.0, 1.0) -- (6.0, 0.9) to[out=180, in=0] (0.0, -0.1);
  %
  \draw [thick] (0.25, 0.25) to[out=0, in=180] 
              node [pos=0.1, circle, fill=red, inner sep=2pt] {}
              node [pos=0.1, above] {$t_{1}$} 
              node [pos=0.5, circle, fill=blue, inner sep=2pt] {}
              node [pos=0.5, above] {$t_{2}$} 
              node [pos=0.9, circle, fill=orange, inner sep=2pt] {}
              node [pos=0.9, above] {$t_{3}$} (5.75, 1.125);
\end{tikzpicture}
\end{document}

答案2

指定内联坐标而不是节点。然后您可以构建稍后需要的任何构造,如下所示:

\documentclass{minimal}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
  \fill [fill=blue!25] (0.0, 0.0) -- (0.0, 2.0) -- (6.0, 2.0) -- (6.0, 1.0) to[out=180, in=0] (0.0, 0.0);
  \filldraw [semithick, fill=gray!50] (0.0, 2.0) rectangle (6.0, 2.1);
  \filldraw [semithick, fill=gray!50] (0.0, -0.1) -- (0.0, 0.0) 
    to[out=0, in=180] (6.0, 1.0) -- (6.0, 0.9) to[out=180, in=0] (0.0, -0.1);
  %
  \draw [thick] (0.25, 0.25) to[out=0, in=180] coordinate[pos=0.1] (1) 
    coordinate[pos=0.5] (2)  coordinate[pos=0.9] (3) (5.75, 1.125);
  \foreach \coord in {1,2,3}{%
    \node[above] at (\coord) {$t_{\coord}$};
    \fill (\coord) circle (2pt);
  }
\end{tikzpicture}
\end{document}

输出为: 在此处输入图片描述

相关内容