绝对定位箭头

绝对定位箭头

在我之前关于箭头的问题中:

用弯曲的箭头连接正多边形的顶点

我现在正尝试将箭头的末端绝对地定位。

基本上,我希望箭头进入节点上的某个特定点(例如底部),但我想指定进入(或出去)的角度。

如果我只是指定[out, in]它会改变箭头的位置,效果不好。我需要某种方法来修复箭头的端点,这样才[out, in]不会影响位置。

要理解这一点。假设箭头的尖端固定在节点上的某个点(底部、角落或边缘),但假设它“进入”节点的角度是错误的(因为它是弯曲的箭头,就像我之前的问题一样)或者你只是想改变它。使用[out, in]它会改变位置而不仅仅是角度。

\draw[-stealth,shorten <=0.2cm,shorten >=0.2cm,thick,red](\source)to[out=180, in=60](\destination);

如果您不明白该问题,请将链接中的代码行更改为上面。(只需将 bend right 替换为 out=180, in=60)

在这种情况下,您会注意到所有箭头(和末端)都指向同一方向,但在每种情况下相对于节点的位置都不同。

在上图中,您可以看到所有箭头都指向同一方向,但与节点接触的位置不同。顶部箭头指向北方,左上角箭头指向西北,等等...例如,我希望它们都指向北方,或者都指向节点的底部(假设每个节点的顶​​部都指向圆心的反方向)。

答案1

我不确定如何回答这个问题!您可以尝试在节点上指定附着点,但无论如何,如果您使用缩短选项,则点不能相同

\documentclass[12pt]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[draw](source) at (0,0){};

\node[draw](destination) at (2,5){};
\draw[-stealth,shorten <=0.2cm,shorten >=0.2cm,thick,red](source.180)to[out=180, in=30](destination.60);
\draw[-stealth,shorten <=0.2cm,shorten >=0.2cm,thick,blue](source.180)to[out=180, in=60](destination.60);
\end{tikzpicture}
\begin{tikzpicture}
\node[draw](source) at (0,0){};

\node[draw](destination) at (2,5){};
\draw[-stealth,shorten <=0.2cm,thick,red](source.180)to[out=180, in=30](destination.60);
\draw[-stealth,shorten <=0.2cm,thick,blue](source.180)to[out=180, in=60](destination.60);

\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容