.png)
Ich reproduziere gerne das folgende Bild aus einemLuftfahrtbericht 1957in tikz pgfplots. Es ist ziemlich kompliziert und ich bin mir nicht sicher, wie ich es angehen soll. Knoten und Positionierung sind zu umständlich/erfordern Feinabstimmung und ich sehe nicht, wo ich Ketten verwenden kann.
Also Gedanken und Versuche?
Ein Ansatzpunkt ist die NutzungKoordinaten und Winkel tikzlibrary. However the above figure has a lot of points and that just I don't think setting absolute coordinates is a good approach.
\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}
Antwort1
Illustrating the "multiple arrows" requirement by exploiting the show path construction
decoration and the calc
library:
\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}
Antwort2
This is one possible solution.
Code
\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}