在 Tikz 中沿贝塞尔曲线查找坐标

在 Tikz 中沿贝塞尔曲线查找坐标

假设我在 Tikz 中定义了一条贝塞尔曲线:

\documentclass{article}
\usepackage{tikz}

\begin{document} 
\begin{tikzpicture}
 \draw (0,0) .. controls (1,2) and  (2,-1) .. (4,0);
\end{tikzpicture}
\end{document} 

我想找到曲线上的坐标,例如曲线上的 30% 和 60%。我想用红点指示它们的位置,并从坐标处开始向不同方向绘制箭头。

是否有一个简单的命令可以返回沿贝塞尔曲线的坐标?谢谢。

答案1

您可以markings在任何路径上使用,包括贝塞尔曲线。mark=at position 0.30表示沿路径标记 30%。

\documentclass[border=0.2 cm]{standalone}
\usepackage{tikz}
\usetikzlibrary{decorations.markings,arrows}
\begin{document}
\begin{tikzpicture}[%
  decoration={markings,
    mark=at position 0.30 with {\coordinate (A); \fill[red] circle [radius=2pt];},
    mark=at position 0.60 with {\coordinate (B); \fill[red] circle [radius=2pt];}
  }]

\draw[postaction={decorate}] (0,0) .. controls (1,2) and  (2,-1) .. (4,0);
\draw[->] (A) -- (1,1);
\draw[->] (B) -- (2,2);
\end{tikzpicture}
\end{document}

带标记的贝塞尔曲线

相关内容