考虑以下例子:
\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}