假设我在 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}