粗蓝色箭头

粗蓝色箭头

我想创建如图所示的粗箭头来连接图形,但我不知道如何在投影仪上实现它。有什么想法吗? 在此处输入图片描述

这是我用于 tikz 的代码:

\begin{tikzpicture}[scale=0.8]
%       \includegraph777ics[height=6.5cm]{terre.png};
\node (fullwt) at (0,7){\includegraphics[height=2cm]{fullwt.png}};%

\node (hybrid1) at (3.5,5.5){\includegraphics[height=2cm]{hybrid1.png}};
%
\node (hybrid2) at (7,4){\includegraphics[height=2cm]{hybrid2.png}};
%
\node (fullpv) at (10.5,2.5){\includegraphics[height=2cm]{fullpv.png}};

\draw [>=latex, ->] (fullwt) {} (hybrid2);
\end{tikzpicture}

答案1

这是一个提案,它利用了twisted arrow来自这个答案。样式定义很长,但好处是绘制扭曲箭头变得像说一样简单

\draw[twisted arrow={color=blue}] (A.east) to[bend left=50] (B.110);

箭头将跟随指定的路径。其所有(大多数)参数都存储在 pgf 键中,因此您可以进行调整。

\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{positioning,decorations.markings,calc}
\begin{document}
\tikzset{twisted arrow/.style={%
/utils/exec=\tikzset{twisted arrow/.cd,#1},
decorate,decoration={markings,%
mark=at position 0 with {\coordinate (ta-base) at (0,0);},
mark=at position 0.02 with {\coordinate (ta-next) at (0,0);},
mark=at position 0.5 with {\coordinate (ta-mid) at (0,0);
\pgftransformreset
\filldraw[tacolor!80!black] let \p1=($(ta-next)-(ta-base)$),
    \n1={atan2(\y1,\x1)} in 
 ($(ta-base)+(\n1+90:\pgfkeysvalueof{/tikz/twisted arrow/width}/2)$) 
    to[bend left=\pgfkeysvalueof{/tikz/twisted arrow/bend angle}/2] (ta-mid) 
    to[bend right=\pgfkeysvalueof{/tikz/twisted arrow/bend angle}/2] 
 ($(ta-base)+(\n1-90:\pgfkeysvalueof{/tikz/twisted arrow/width}/2)$) 
-- cycle;},
mark=at position 0.97 with {\coordinate (ta-near-end) at (0,0);},
mark=at position 0.99 with {\coordinate (ta-end) at (0,0);
\pgftransformreset
\filldraw[tacolor] let \p1=($(ta-end)-(ta-near-end)$),
    \n1={atan2(\y1,\x1)} in 
(ta-mid) to[bend left=\pgfkeysvalueof{/tikz/twisted arrow/bend angle}/2] 
($(ta-end)+(\n1+180:\pgfkeysvalueof{/tikz/twisted arrow/head length})
+(\n1+90:\pgfkeysvalueof{/tikz/twisted arrow/width}/2)$)
-- ($(ta-end)+(\n1+180:\pgfkeysvalueof{/tikz/twisted arrow/head length})
+(\n1+90:\pgfkeysvalueof{/tikz/twisted arrow/head width}/2)$)
-- (ta-end) 
-- ($(ta-end)+(\n1+180:\pgfkeysvalueof{/tikz/twisted arrow/head length})
+(\n1-90:\pgfkeysvalueof{/tikz/twisted arrow/head width}/2)$)
--
($(ta-end)+(\n1+180:\pgfkeysvalueof{/tikz/twisted arrow/head length})
+(\n1-90:\pgfkeysvalueof{/tikz/twisted arrow/width}/2)$)
to[bend right=\pgfkeysvalueof{/tikz/twisted arrow/bend angle}/2] cycle;
}}},twisted arrow/.cd,width/.initial=6pt,
head length/.initial=6pt,
head width/.initial=10pt,
bend angle/.initial=45,
color/.code=\colorlet{tacolor}{#1},
color=gray}
\begin{frame}
\frametitle{Twisted arrows}
\centering
\begin{tikzpicture}[nodes={draw=blue,thick}]
 \node (A) {\includegraphics[width=1.5cm]{example-image-a}};
 \node[below right=0em and 2em of A,anchor=north west] (B) {\includegraphics[width=1.5cm]{example-image-b}};
 \node[below right=0.2em and 2.2em of B,anchor=north west] (C) {\includegraphics[width=1.5cm]{example-image-c}};
 \node[below right=-0.4em and 2em of C,anchor=north west] (D) {\includegraphics[width=1.5cm]{example-image-duck}};
 %
 \draw[twisted arrow={color=blue}] (A.east) to[bend left=50] (B.110);
 \draw[twisted arrow={color=blue,bend angle=-45}] (B.-70) to[bend right=50] (C.west);
 \draw[twisted arrow={color=blue,}] (C.20) to[bend left=80] (D.110);
\end{tikzpicture}
\end{frame}
\end{document}

在此处输入图片描述

对于未来,我恳请您提供完整的文档,并且不要包含大多数用户没有的图形文件。

相关内容