Lignes de coupe Tikz à l'intersection

Nov 29 2020

J'essaie de trouver un moyen de dessiner des triangles rectangles "paramétriques", ce qui signifie que je change la longueur de l'hypoténuse \hypoet l'un des angles internes \alfaet qu'il devrait dessiner le triangle pour moi. Jusqu'à présent, j'ai fait ça

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

Je ne peux pas comprendre comment couper les deux catheti à leur intersection.

En plus de cela, je ne pense pas que ce soit une bonne idée de coder en dur leur longueur (ici 3 unités). Je l'ai fait parce que s'ils sont trop courts, ils ne se croisent pas et Tikz ne peut pas trouver l'intersection. Il serait préférable de laisser LaTeX (ou Tikz) déterminer la longueur correcte pour arriver à l'intersection et ne pas la dépasser. J'ai essayé de chercher une solution dans le manuel et en ligne, mais je ne trouve rien de vraiment utile. Une idée comment faire cela?

Réponses

5 Noname Nov 29 2020 at 01:50

Vous pouvez utiliser overlaypour exclure les coordonnées auxiliaires du cadre de sélection. BTW, vous n'avez pas besoin de la intersectionsbibliothèque pour calculer l'intersection entre les lignes droites.

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

Bien sûr, on peut calculer analytiquement les coordonnées de C, voir par exemple ce fil .