TikZ Winkelarithmetik

TikZ Winkelarithmetik

Ich habe ein Problem, wenn ich versuche, Vektorkomponenten in einem TikZ-Bild zu zeichnen. Ich möchte, dass TikZ Folgendes macht: 1) Eine Linie der Länge 4 bei 0 Grad zeichnen 2) Eine Linie von (4,0) der Länge 3 bei 90 Grad zeichnen 3) Die Hypothenuse von (4,3) der Länge 5 bei 210 Grad zeichnen

Wenn ich jedoch Koordinatenarithmetik und Winkel in TikZ verwende, kann ich die Hypothenuse nicht richtig berechnen. Hier ist ein minimales funktionierendes Beispiel:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}

\begin{tikzpicture}
    \draw (0,0) coordinate (a);
    \draw (a) -- ($(a)+(0:4)$) coordinate (b);
    \draw (b) -- ($(b)+(90:3)$) coordinate (c);
    \draw (c) -- ($(c)+(210:5)$);
\end{tikzpicture}

\end{document}

Das Ergebnis:

gebrochenes Dreieck

Ich habe versucht, eine Lösung zu finden, aber mir sind die Ideen ausgegangen. Für jede Hilfe (auch für Hinweise auf dumme Fehler) wäre ich sehr dankbar.

Grüße, JLusk

Antwort1

Das Problem besteht darin, dass der endgültige Winkel nicht 210 beträgt. Verwenden Sie entweder den entsprechenden Wert atan(3/4)+180oder cycle( (a)da Sie die Anfangskoordinate bereits benannt haben); beachten Sie auch, dass Sie nur eine verwenden können \drawund die Verwendung von ++Ihren Code vereinfacht (die Bibliothek ist nicht erforderlich calc):

\documentclass{article}
\usepackage{tikz}

\begin{document}

\noindent
\begin{tikzpicture}
    \draw (0,0) coordinate (a) -- 
    ++(0:4) coordinate (b) --
    ++(90:3) coordinate (c) --
    ++({atan(3/4)+180}:5);
\end{tikzpicture}\bigskip

\noindent
\begin{tikzpicture}
    \draw (0,0) coordinate (a) -- 
    ++(0:4) coordinate (b) --
    ++(90:3) coordinate (c) --
    cycle;
\end{tikzpicture}

\end{document}

Bildbeschreibung hier eingeben

Wenn Sie auf vier getrennten Operationen bestehen, können Sie

\begin{tikzpicture}
    \coordinate (a) at (0,0);
    \draw (a) -- +(0:4) coordinate (b);
    \draw (b) -- +(90:3) coordinate (c);
    \draw (c) -- +({atan(3/4)+180}:5);
\end{tikzpicture}

oder einfach

\begin{tikzpicture}
    \coordinate (a) at (0,0);
    \draw (a) -- +(0:4) coordinate (b);
    \draw (b) -- +(90:3) coordinate (c);
    \draw (c) -- (a);
\end{tikzpicture}

beide Optionen weiterhin ohne calc.

verwandte Informationen