Aritmética do ângulo TikZ

Aritmética do ângulo TikZ

Estou com um problema ao tentar desenhar componentes vetoriais em uma imagem TikZ. Quero que TikZ faça o seguinte: 1) Desenhe uma linha de comprimento 4 a 0 graus 2) Desenhe uma linha de (4,0) de comprimento 3 a 90 graus 3) Desenhe a hipotenusa de (4,3 ) de comprimento 5 a 210 graus

No entanto, ao usar aritmética de coordenadas e ângulos no TikZ, não consigo acertar a hipotenusa. Aqui está um exemplo mínimo de trabalho:

\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}

Isso produz:

triângulo quebrado

Tenho tentado encontrar uma solução e fico sem ideias. Qualquer ajuda (incluindo apontar erros estúpidos) seria muito apreciada.

Felicidades, JLusk

Responder1

O problema é que o ângulo final não é 210; use o valor apropriado atan(3/4)+180ou use cycle(ou (a)desde que você já nomeou a coordenada inicial); observe também que você pode usar apenas um \drawe o uso de ++simplifica seu código (sem necessidade de calcbiblioteca):

\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}

insira a descrição da imagem aqui

Se você insistir em quatro operações separadas, poderá fazer

\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}

ou simplesmente

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

ambas as opções ainda sem calc.

informação relacionada