Vektorkette mit relativen Koordinaten zeichnen

Tabellen und Grafiken erstellen und anordnen


lenherrg
Forum-Anfänger
Forum-Anfänger
Beiträge: 28
Registriert: Sa 13. Feb 2016, 21:23

Vektorkette mit relativen Koordinaten zeichnen

Beitrag von lenherrg »

Liebe Experten,

gerne möchte ich möglichst elegant eine Vektorkette (inkl. resultierender Vektor) zeichnen. Die Vektorkette soll relativ gezeichnet werden.

Wie erreiche ich, dass bei allen Teilvektoren die Pfeilspitze jeweils auch gezeichnet wird?
Wie kann ich den resultierenden Vektor in vollständiger Länge hinkriegen?

Besten Dank für eure Hilfe!
lenherrg
\documentclass[a4paper,12pt]{article}
\usepackage[x11names]{xcolor} 
\usepackage{amsmath, cancel, siunitx, enumitem, array, rotating, nicefrac} 	
\usepackage{tikz}

\begin{document}
\begin{enumerate}[label={\alph*)}]
\itemsep10pt
\item Wie kann ich eine Vektorkette (rote Farbe) relativ zeichnen?\\[1mm]
(In der Darstellung unten fehlen mir die Pfeilspitzen des 1. und 2. Vektors.)
\item Wie kann ich machen, dass der resutierende Vektor (blaue Farbe) die volle Länge von Anfang bis Ende der Vektorkette hat?
\end{enumerate}
\vskip5ex

\begin{tikzpicture}
\draw [red, ->, >=latex]  (108mm, 52mm) node(A){} --++ (-150:100mm)--++ (-30:80mm)--++ (60:40mm) node(E){}; % Vektorkette
\draw[blue, ->, >=latex] (A) -- (E);   % resultierender Vektor
\end{tikzpicture}

\end{document}
Sage mir und ich vergesse,
zeige mir und ich erinnere,
lass es mich tun und ich verstehe.
(Konfuzius)

Rolli
Forum-Guru
Forum-Guru
Beiträge: 382
Registriert: Mi 15. Feb 2017, 08:50
Wohnort: Mittelfranken

Beitrag von Rolli »

b) ist einfach: Ändere A in A.center und E in E.center.
a) geht meines Wissens nicht; also zeichne die Vektoren einzeln.
\documentclass[a4paper,12pt]{article}
\usepackage[x11names]{xcolor}
\usepackage{amsmath, cancel, siunitx, enumitem, array, rotating, nicefrac}    
\usepackage{tikz}

\begin{document}
\begin{enumerate}[label={\alph*)}]
\itemsep10pt
\item Wie kann ich eine Vektorkette (rote Farbe) relativ zeichnen?\\[1mm]
(In der Darstellung unten fehlen mir die Pfeilspitzen des 1. und 2. Vektors.)
\item Wie kann ich machen, dass der resutierende Vektor (blaue Farbe) die volle Länge von Anfang bis Ende der Vektorkette hat?
\end{enumerate}
\vskip5ex

\begin{tikzpicture}
\draw [red, ->, >=latex]  (108mm, 52mm) node(A){} --++ (-150:100mm)--++ (-30:80mm)--++ (60:40mm) node(E){}; % Vektorkette
\draw[blue, ->, >=latex] (A.center) -- (E.center);   % resultierender Vektor
\end{tikzpicture}

\end{document}
Gruß vom Rolli

lenherrg
Forum-Anfänger
Forum-Anfänger
Beiträge: 28
Registriert: Sa 13. Feb 2016, 21:23

Beitrag von lenherrg »

Vielen Dank für den Tipp mit dem Zusatz "center".

Hoffentlich kann mir auch jemand zur Frage a) weiterhelfen.
Gibt es wirklich keine elegante Lösung?
Sage mir und ich vergesse,
zeige mir und ich erinnere,
lass es mich tun und ich verstehe.
(Konfuzius)

markusv
Forum-Meister
Forum-Meister
Beiträge: 947
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Beitrag von markusv »

Rolli hat geschrieben:b) ist einfach: Ändere A in A.center und E in E.center.
Würde lieber coordinate nutzen statt node, aber ist wahrscheinlich eher Geschmackssache als besser oder schlechter.
Zu ersterem kenne ich leider auch keine elegantere Lösung:
\documentclass[a4paper,12pt]{article}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}[-latex,red]
\coordinate(A) at (108mm, 52mm);
\coordinate(B) at (-150:100mm);
\coordinate(C) at (-30:80mm);
\coordinate(D) at (60:40mm);
\draw (A) --++ (B) coordinate(B);%Pos. neu speichern unter B
\draw (B) --++ (C) coordinate(C);%s.o.
\draw (C) --++ (D) coordinate(D);%s.o.
\draw[blue] (A) -- (D);
\end{tikzpicture}
\end{document}
Man könnte die neuen Positionen auch unter anderem Namen speichern.
Zuletzt geändert von markusv am Do 10. Jan 2019, 12:31, insgesamt 2-mal geändert.
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

Rolli
Forum-Guru
Forum-Guru
Beiträge: 382
Registriert: Mi 15. Feb 2017, 08:50
Wohnort: Mittelfranken

Beitrag von Rolli »

Ich habe keine Idee. Das wäre ja so ähnlich, als würde man z.B. mitten im Pfad die Farbe wechseln wollen, also in einem Pfad Vektor 1 rot, Vektor 2 grün und Vektor 3 blau zeichnen wollen. Ist m.W. in TikZ nicht eingebaut.

Gruß vom Rolli

lenherrg
Forum-Anfänger
Forum-Anfänger
Beiträge: 28
Registriert: Sa 13. Feb 2016, 21:23

Beitrag von lenherrg »

Hallo zusammen,

mit der Lösung von markusv mittels "coordinate" und der Speicherung der neuen Positon kann ich ganz gut leben bzw. arbeiten.

Vielen Dank für eure Inputs.
\draw (A) --++ (B) coordinate(B);%Pos. neu speichern unter B
Sage mir und ich vergesse,
zeige mir und ich erinnere,
lass es mich tun und ich verstehe.
(Konfuzius)

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Hier ist mal noch ein Vorschlag mit einer foreach Schleife:
\documentclass[a4paper,12pt]{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[>=latex]
\coordinate(A) at (108mm, 52mm);

\foreach \p/\n  [remember=\n as \lastn (initially A)] in {%
    {-150:100mm}/B,%
    {-30:80mm}/C,%
    {60:40mm}/D%
  }{\draw[red,->] (\lastn)--+(\p)coordinate(\n);}
 
\draw[blue,->] (A) -- (D);
\end{tikzpicture}
\end{document}

Antworten