Vektorkette mit relativen Koordinaten zeichnen

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Vektorkette mit relativen Koordinaten zeichnen

von esdd » Do 10. Jan 2019, 15:06

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}

von lenherrg » Do 10. Jan 2019, 14:59

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

von Rolli » Do 10. Jan 2019, 12:25

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

von markusv » Do 10. Jan 2019, 12:25

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.

von lenherrg » Do 10. Jan 2019, 12:18

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?

von Rolli » Do 10. Jan 2019, 12:13

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

Vektorkette mit relativen Koordinaten zeichnen

von lenherrg » Do 10. Jan 2019, 10:06

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}

Nach oben