TikZ 平滑图,以参数方式检索路径上的点

TikZ 平滑图,以参数方式检索路径上的点

假设我有一条某条曲线,我使用预设坐标指定其“控制”点。

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes,calc,arrows,decorations.pathmorphing,intersections}

\begin{document}
\begin{tikzpicture}
    \coordinate (A) at (0,0);
    \coordinate (B) at (42,0);
    \coordinate (C) at (0,42);
    \draw plot[smooth] coordinates{(A) (B) (C)};
\end{tikzpicture}
\end{document}

(A)现在我们可以想象这是一条轨迹,某个“物体”在时间处处于坐标,并在时间t = 0到达。我想知道是否可以指定这条轨迹上的某个点,例如,这实际上意味着“中途”和?我需要此功能,以便我可以指定一个“看起来自然”的形状,然后在其上绘制东西。(C)t = 1t = 0.5(A)(B)

答案1

这可以使用路径装饰来实现:

\documentclass[tikz,border=2mm]{standalone}
\usetikzlibrary{decorations.markings}

\begin{document}
\begin{tikzpicture}[
    define coord/.style 2 args={
      decoration={
        markings,
        mark=at position #2 with {\coordinate (#1);},
      },
      postaction=decorate,
    }
  ]
  \coordinate (A) at (0,0);
  \coordinate (B) at (5,0);
  \coordinate (C) at (0,5);
  \draw[blue, define coord={P}{0.2}, define coord={I}{0.5},
              define coord={Q}{0.75}]
    plot[smooth] coordinates { (A) (B) (C) };
  \fill[red] (P) circle[radius=2pt] node[black, below] {At time $0.2$};
  \node[red!80!black, pin=20:$I$] at (I) {middle};
  \node[above right] at (Q) {At $3/4$ of the curve};
\end{tikzpicture}
\end{document}

在此处输入图片描述

正如您注意到的,在给定的路径中,样式必须与增加的坐标一起使用,否则点就不会按预期放置。

相关内容