如何在 Tikz 中沿曲线在给定弧长处绘制一个点?

如何在 Tikz 中沿曲线在给定弧长处绘制一个点?

考虑以下例子:

\documentclass{report}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0) arc (0:90:1 and 2);
\filldraw (0,0) circle (2pt);
\filldraw[red] (-.1,.9) circle (2pt);
\end{tikzpicture}
\end{document}

在此处输入图片描述

给定一条曲线和一个原点(示例中为 A),我想在曲线上距离原点给定弧长处放置一个点(示例中为弧长 1 处的 B)。

我该如何实现这一点?我发现这个问题这个问题,但没有看到如何指定弧长。

答案1

这可以通过 (大致)来完成decorations.markings,它接受 的长度(以及百分比)position

在此处输入图片描述

图像中的所有标记均位于1cm

定义一个arclen以长度为参数的样式。然后从头开始\draw[arclen=1cm] <path>做标记。1cm

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary {decorations.markings}

\tikzset{arclen/.style={decoration={markings, mark=at position #1 with{\filldraw[red] (0,0) circle (2pt);}},
    postaction=decorate}}

\begin{document}
\begin{tikzpicture}
\draw[gray!50, very thin](0,-1) grid (-2,2);
\draw[arclen=1cm] (0,0) -- (0,2);
\draw[arclen=1cm] (0,0) arc (0:90:1 and 2);
\draw[arclen=1cm] (0,0) arc (0:180:1);
\draw[arclen=1cm] (0,0) arc (0:270:.5);
\draw[arclen=1cm] (0,0) arc (0:330:.4);
\draw[arclen=1cm] (0,0) arc (0:330:.3);
\end{tikzpicture}
\end{document}

相关内容