在 命名装饰中的节点并从一个节点画到另一个节点 我问了一个问题,得到了回答。最有帮助的是以下内容。
\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{decorations.markings}
\begin{document}
\begin{tikzpicture}[
decoration={
markings,
mark=at position 0.4 with {\draw[->] (0,0)--(0,1);
\draw[->] (0,0)--(2,-2) node[below]{A};
\draw[<-] (0,0)--(-.8,-.8);}
}
]
\draw[postaction={decorate}] plot [smooth cycle] coordinates {(0,0) (1,1) (3,1) (3,0) (2,-1)};
\end{tikzpicture}
\end{document}
现在,能够绘制这些线并命名点,接下来的问题是:我能否找到 A 与平滑图的交点与平滑图的关系。我想要 pos=.3 之类的交点,因此可以在交点处进行修饰。这可能吗?如何做到?
非常感谢。你好 Fabian
答案1
这个问题实际上并不像你想象的那么无辜。幸运的是pgfplots
(!)有办法将路径分解为交叉段,然后可以对其进行修饰。在这个 MWE 中
\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{decorations.markings}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\usepgfplotslibrary{fillbetween}
\begin{document}
\begin{tikzpicture}
\draw[postaction={decorate,decoration={
markings,
mark=at position 0.4 with {\draw[->] (0,0)--(0,1);
\draw[->,name path=pathA] (0,0)--(2,-2) node[below]{A};
\draw[<-] (0,0)--(-.8,-.8);}
}},name path global=pathB] plot [smooth cycle] coordinates {(0,0) (1,1) (3,1) (3,0) (2,-1)};
\path[ draw=blue,
postaction={decoration={
markings,
mark=at position 1 with {\draw[->] (0,0)--(0,1);}
},decorate},
intersection segments={of=pathA and pathB,
sequence={R2},
},];
\end{tikzpicture}
\end{document}
我计算(并以蓝色绘制以方便说明)原始平滑图与标记为 的线相交的点的交点线段A
。此点现在在线段中的位置为 1。然后可以在此点绘制法线向量。