Linhas de acabamento Tikz na interseção

Nov 29 2020

Estou tentando encontrar uma maneira de desenhar triângulos retângulos "paramétricos", o que significa que eu mudo o comprimento da hipotenusa \hypoe um dos ângulos internos \alfae ele deve desenhar o triângulo para mim. Até agora eu fiz isso

\documentclass[border=1mm]{standalone}

\usepackage{tikz}

\usetikzlibrary{calc, angles, intersections}

\begin{document}
    \begin{tikzpicture}
        \def\alfa{55}
        \def\hypo{3}
        \draw[name path= A-C] (0,0) node[below left] (A) {A} -- (90-\alfa:3);
        \draw (0,0) -- (\hypo,0) node[below right] (B) {B} -- ++ (180-\alfa:3);
        \path[name path= B-C] (\hypo,0) -- ++ (180-\alfa:3);
        \node [name intersections={of= A-C and B-C}, above] at (intersection-1) {C};
    \end{tikzpicture}
\end{document}

Não consigo descobrir como aparar os dois catetos em sua interseção.

Além disso, não acho uma boa ideia codificar seu comprimento (aqui 3 unidades). Fiz isso porque, se forem muito curtos, não se cruzam e Tikz não consegue encontrar o cruzamento. Seria melhor deixar o LaTeX (ou Tikz) descobrir o comprimento correto para chegar à interseção e não ultrapassá-la. Tentei procurar uma solução no manual e online, mas não consigo encontrar nada realmente útil. Alguma idéia de como fazer isso?

Respostas

5 Noname Nov 29 2020 at 01:50

Você pode usar overlaypara excluir coordenadas auxiliares da caixa delimitadora. BTW, você não precisa da intersectionsbiblioteca para calcular a interseção entre linhas retas.

\documentclass[border=1mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
   \def\alfa{55}
   \def\hypo{3}
   \path[overlay] (0,0) coordinate (A) ++ (90-\alfa:1) coordinate (C')
    (\hypo,0) coordinate (B)  ++ (180-\alfa:1) coordinate (C'')
    (intersection of A--C' and B--C'') coordinate (C);
    %or
    %(intersection cs:first line={(A)--(C')},second line={(B)--(C'')}) coordinate (C);
   \draw (A) node[below left]  {$A$}    -- (B) node[below right] {$B$}
    -- (C) node[above]{$C$} -- cycle;
\end{tikzpicture}
\end{document}

Claro, pode-se calcular as coordenadas de C analiticamente, veja, por exemplo, este tópico .