Linie przycinania Tikz na przecięciu

Nov 29 2020

Staram się wymyślić sposób na narysowanie „parametrycznych” trójkątów prostokątnych, czyli zmieniam długość przeciwprostokątnej \hypoi jeden z kątów wewnętrznych \alfai powinien on narysować za mnie trójkąt. Do tej pory to zrobiłem

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

Nie wiem, jak przyciąć dwie catheti na ich przecięciu.

Co więcej, nie sądzę, żeby dobrze było zakodować ich długość (tutaj 3 jednostki). Zrobiłem to, ponieważ jeśli są za krótkie, to się nie przecinają, a Tikz nie może znaleźć skrzyżowania. Byłoby lepiej, gdyby LaTeX (lub Tikz) obliczył właściwą długość, aby dostać się do skrzyżowania i go nie minąć. Próbowałem poszukać rozwiązania w instrukcji i online, ale nie mogę znaleźć nic naprawdę pomocnego. Masz jakiś pomysł, jak to zrobić?

Odpowiedzi

5 Noname Nov 29 2020 at 01:50

Możesz użyć overlaydo wykluczenia współrzędnych pomocniczych z obwiedni. BTW, nie potrzebujesz intersectionsbiblioteki do obliczenia przecięcia między prostymi.

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

Oczywiście współrzędne C można obliczyć analitycznie, patrz np. Ten wątek .