TIKZ 中的曲线绘制 - 等距点

TIKZ 中的曲线绘制 - 等距点

我有一定数量的点,我想用它们“穿过”这些点绘制一条样条/贝塞尔曲线。绘制曲线时,我想自动沿曲线放置等距的 p 个点。(因此:如果我定义曲线的原始点数为 n,则 n 和 p 之间没有关系(n 可以大于、等于或小于 p)

答案1

您几乎可以直接复制 pgfmanual 第 585 页中的第二个示例,以获得等距的圆。我之所以选择0.9999/#1而不是,1/#是因为最后一个圆圈可能会消失,否则。该样式equally spaced dots=p产生p等距点。为了绘制到某些点的平滑曲线,我使用了爱好库。

\documentclass[tikz, border=3.14mm]{standalone}
\usetikzlibrary{hobby}
\usetikzlibrary{decorations.markings}
\tikzset{equally spaced dots/.style={postaction={decorate,
decoration={markings,% switch on markings 
mark=% actually add a mark
between positions 0 and 1 step 0.9999/#1
      with
      {
        \fill circle (1pt);
      }
}}}}
\begin{document}
\begin{tikzpicture}
 \draw[equally spaced dots=5] (0,0) (0,0) to[curve through={(6,4) .. (4,9) .. (1,7)}]
(3 ,5);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容