Como você desenharia uma seta preenchida com um gradiente?

Como você desenharia uma seta preenchida com um gradiente?

Quero desenhar várias setas grandes preenchidas com gradientes em locais diferentes. Como você faria isso ?

Sou novo no tikz e no látex e cheguei à seguinte solução (feia):

   \def\y{0.4}
   \def\x{0.2}
    \newcommand\verticalarrow[2]{
        (0,0) -- (#1,0) -- (#1,#2-\y) -- (#1+\x,#2-\y) -- (#1/2,#2) -- 
        (-\x,#2-\y) -- (0,#2-\y) -- (0,0)
    }

    \draw[bottom color=white, top color=gray, very thin] \verticalarrow{0.15}{4};

É complexo e por enquanto não sei como localizar minhas flechas...

Responder1

Eu usaria um \nodecom a single arrowforma fornecida pela shapes.arrowsbiblioteca. A forma pode ser ajustada de forma bastante flexível:

\documentclass{article}
\usepackage{tikz}

\usetikzlibrary{shapes.arrows, fadings}
\begin{document}
\begin{tikzpicture}[every node/.append style={draw=gray, left color=white, single arrow}]
\node [
    right color=orange,
    single arrow,
    minimum height=1cm
] {};

\node at (0,-1) [
    right color=blue!50!cyan,
    single arrow,
    minimum height=1cm,
    shading angle=90+60,
    rotate=60
] {};

\node at (1,0) [
    right color=red!80!black,
    single arrow,
    single arrow head extend=0.4cm,
    single arrow tip angle=110,
    single arrow head indent=0.1cm,
    minimum height=2cm,
    inner sep=1pt,
    shading angle=90+90,
    rotate=90
] {};


\end{tikzpicture}
\end{document}

informação relacionada