tikz 环境中的 tiki 花式箭头

tikz 环境中的 tiki 花式箭头

我偶然发现了这个页面,其中解释了如何绘制带有阴影等的奇特箭头。

使用 TikZ 制作精美的箭头

但是,示例中的箭头嵌入在文本中。我想在节点之间的 tikzfigure 环境中绘制它。

\begin{tikzpicture}
 \node[](a){};
 \node[right of=a,node distance=10cm](b){};

 \draw[ ??](a) -- (b);

\end{tikzpicture}

示例中的正确语法是什么?

答案1

如果您使用已接受答案中的代码使用 TikZ 制作精美的箭头,那么请注意,arrowstyle样式采用确定箭头长度的参数。因此,如果你有

\node [draw] (a) {A};
\node [draw,right=5cm of a] (b) {B};

因此你知道节点之间的距离是 5 厘米,那么你就可以使用

\node [arrowstyle=5cm,right=0pt of a] {};

得到这样一个箭头,起始于a,结束于b


附录:right of=您使用的语法被视为已弃用,而您应该加载positioning库并使用right=of,就像我上面所做的那样。请参阅PGF/TikZ 中“right of=”和“right=of”之间的区别


如果您不知道确切的距离,或者您需要旋转它(即,如果节点b不在的右侧a),那么您可以加载calc库并计算距离和角度,如下所示:

\path
 let
   \p1=(a2.south east), % start point
   \p2=(b2.north west), % end point
   \n1={veclen(\x2-\x1,\y2-\y1)}, % distance between start and end
   \n2={atan2(\y2-\y1,\x2-\x1)}   % angle between start and end
 in
  node [arrowstyle=\n1,
        right=0 of a2.south east,
        rotate=\n2,
        fading angle=\n2 % only  affects shadow
       ] {};

请注意,颜色渐变本身不会旋转,因此始终从上到下。还请注意,由于这是一个节点,而不是正常的线路径,因此只能使用直线,不能使用弯曲或扭结的箭头。

在此处输入图片描述

\documentclass[svgnames,border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{
  fadings,
  shapes.arrows,
  shadows,
  positioning
}   

\tikzfading[name=arrowfading, top color=transparent!0, bottom color=transparent!95]

\tikzset{
  arrowfill/.style={
     top color=OrangeRed!20,
     bottom color=Red,
     general shadow={fill=black, shadow yshift=-0.8ex, path fading=arrowfading}
  },
  arrowstyle/.style={
     draw=FireBrick,
     arrowfill,
     single arrow,
     minimum height=#1,
     single arrow head extend=.4cm
   }
}


\begin{document}
\begin{tikzpicture}
 \node [draw] (a) {A};
 \node [draw,right=5cm of a] (b) {B};
 \node [arrowstyle=5cm,right=0pt of a]{};


 \node [draw,below=1cm of a] (a2) {A2};
 \node [draw,below right=3cm of a2] (b2) {B2};
 \node [arrowstyle=3cm,
        right=0 of a2.south east,
        rotate=-45,
        fading angle=-45 % only  affects shadow
       ] {};
\end{tikzpicture}
\end{document}

相关内容