
Nehmen wir an, ich habe in Tikz eine Bézierkurve definiert:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0) .. controls (1,2) and (2,-1) .. (4,0);
\end{tikzpicture}
\end{document}
Ich möchte Koordinaten entlang der Kurve finden, z. B. bei 30 % und 60 % entlang der Kurve. Ich möchte ihre Position mit einem roten Punkt kennzeichnen und von den Koordinaten ausgehend Pfeile in verschiedene Richtungen zeichnen.
Gibt es einen einfachen Befehl, der Koordinaten entlang einer Bézierkurve zurückgibt? Danke.
Antwort1
Sie können es auf jedem Pfad verwenden markings
, einschließlich einer Bézierkurve. mark=at position 0.30
bedeutet eine Markierung 30 % entlang des Pfades.
\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}