Diagrama vectorial tikz complicado (distancia aproximada de pérdida producida por giros)

Diagrama vectorial tikz complicado (distancia aproximada de pérdida producida por giros)

Me gusta reproducir la siguiente imagen de unInforme de aviación de 1957en tikz pgfplots. Es bastante complicado y no estoy seguro de cómo abordarlo. Los nodos y el posicionamiento son demasiado complicados/requiere ajuste de búsqueda y no veo dónde puedo usar cadenas.

Entonces, ¿pensamientos e intentos?

ingrese la descripción de la imagen aquí

Un punto de partida es utilizarcoordenadas y ángulos tikzlibrary. Sin embargo, la figura anterior tiene muchos puntos y no creo que establecer coordenadas absolutas sea un buen enfoque.

\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{quotes,angles}
\begin{document}
\begin{tikzpicture}
  \draw
    (3,-1) coordinate (a) node[right] {a}
    -- (0,0) coordinate (b) node[left] {b}
    -- (2,2) coordinate (c) node[above right] {c}
    pic["$\alpha$", draw=orange, <->, angle eccentricity=1.2, angle radius=1cm]
    {angle=a--b--c};
\end{tikzpicture}
\end{document}

Respuesta1

Ilustrando el requisito de las "flechas múltiples" aprovechando la show path constructiondecoración y la calcbiblioteca:

\documentclass[tikz, border=5]{standalone}
\usetikzlibrary{decorations.pathreplacing,calc,arrows.meta,angles,quotes}
\tikzset{%
  multi arrows/.style args={#1 with #2 sep}{
    decoration={show path construction, 
      lineto code={
        \foreach \i [count=\j from 0] in {1,...,#1}
          \draw let \p1=(\tikzinputsegmentfirst),\p2=(\tikzinputsegmentlast),
            \n1={veclen(\x2-\x1,\y2-\y1)},
            \n2={(\n1-#2*(#1-1))/#1},
            \n3={\n2+#2} in [every multi arrow/.try] 
            ($(\tikzinputsegmentfirst)!\n3*\j!(\tikzinputsegmentlast)$) --
            ($(\tikzinputsegmentfirst)!\n3*\j+\n2!(\tikzinputsegmentlast)$);
      }
    },
    decorate
  },
  every multi arrow/.style={
     thick, draw, ->
  }
}
\begin{document}

\begin{tikzpicture}
[
  >=Triangle,
  marking/.style={%
    fill=white,
    midway
  }
]

\path 
  (0:0)   coordinate (O)  node [anchor=225] {$O$}
  (135:3) coordinate (A1) node [anchor=-45] {$A_1$}
  (240:5) coordinate (A2) node [anchor=80]  {$A_2$}
  (280:3) coordinate (o)
 +(150:4) coordinate (a)  
 +( 60:6) coordinate (c)  
  ($(o)!0.9!(a)$) coordinate (p1) node [anchor=0] {$p_1$}
 +(250:2)         coordinate (v1) 
  ($(o)!0.3!(c)$) coordinate (p2) 
 +( 20:2)         coordinate (v2)
  ($(o)!0.9!(c)$) coordinate (-v1);

\draw [dashed] (a) -- (o) -- (c);
\path pic ["$90^\circ$", draw, <->, angle eccentricity=1.25, angle radius=0.75cm]
    {angle=c--o--a};

\draw [multi arrows=3 with 5pt sep] (A1) -- (O);
\draw [multi arrows=5 with 5pt sep] (A2) -- (O);
\draw [multi arrows=1 with 0pt sep] 
  (O) -- (p1) node [marking] {$p_1$}
      -- (v1) node [marking] {$v_1$};
\draw [multi arrows=1 with 0pt sep] 
  (O) -- (p2)  node [marking] {$p_2$} 
      -- (v2)  node [marking] {$v_2$}
      -- (-v1) node [marking] {$-v_1$};
\end{tikzpicture}

\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Esta es una posible solución.

ingrese la descripción de la imagen aquí

Código

\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{quotes,angles,shapes,arrows,positioning,}
\begin{document}
    \tikzset{>=triangle 45}
\begin{tikzpicture}
  \draw[dashed]
       (-3,3) coordinate (a) node[right] {a}
    -- coordinate[pos=0.2,left](p1) (0,0) coordinate (b) node [left] {}
    -- coordinate[pos=0.3,right](p2)
 (5,5) coordinate (c) node [above right] {c}
    pic["$90^\circ$", draw=orange, <->, angle eccentricity=1.2, angle radius=1cm]
    {angle=c--b--a};


\coordinate (O) at (-0.5,3);
\draw[->] (O)node[above right](){O} --node[fill=white,pos=0.5](){$p_1$}(p1) node[left](){$p_1$} ;
\draw[->] (p1)--node[fill=white,pos=0.5](){$v_1$}(-4,0);
\draw[->] (O) --node[fill=white,pos=0.5](){$p_2$}(p2);
\draw[->] (p2)--node[fill=white,pos=0.5](){$v_2$} ++(2,1)coordinate (a);
\draw[->] (a) --node[fill=white,pos=0.3](){$-v_1$} (4.7,4.7);

% Approaching routes
\node at (-3,6)(a1){$A_1$}; % change the coordinates for different incoming direction
\path[->] (a1)--node[pos=0.3](a2){} node[pos=0.6](a3){} node[pos=0.9](a4){}(O);
\draw[->] (a1)--(a2);
\draw[->] (a2)--(a3);
\draw[->] (a3)--(O);

\node at (-2,-4) (b1){$A_2$}; % change the coordinates for different incoming direction
\path[->](b1)--node[pos=0.1](b2){} node[pos=0.3](b3){} node[pos=0.5](b4){} node[pos=0.7](b5){} node[pos=0.9](b6){}(O);
\foreach \i/\j in {1/2,2/3,3/4,4/5,5/6}{
\draw[->] (b\i) --(b\j);
}
\draw[->] (b6) -- (O);

\end{tikzpicture}
\end{document}

información relacionada