Hacer un teorema de congruencia de comando nuevo (no existente) AngleAngleAngle

Hacer un teorema de congruencia de comando nuevo (no existente) AngleAngleAngle

Estoy intentando construir una macro para el teorema de congruencia WWW inexistente (¿AAA?), donde, por supuesto, se debe especificar un lado a (por cierto, SideSideSide funciona bien). Alguien pidió un ejemplo práctico mínimo. La pregunta está cerrada, por lo que no sé cómo publicarla más que editarla. Puede que algunos paquetes sean inútiles aquí, pero intenté minimizarlos. Esto aquí funciona bien para mí. Resolví el problema como mencioné en mi propia respuesta usando grados para calcular las longitudes de los lados. Ahora el "clip" comentado en SSS no funciona, pero intentaré solucionarlo más tarde. Espero que se haya permitido editar la pregunta.

\documentclass[]{scrartcl}
\usepackage[ngerman]{babel}


\usepackage{amsmath, amssymb}  %für logische Symbole


\usepackage{tikz}    
\usetikzlibrary{backgrounds}
\usetikzlibrary{decorations.pathmorphing}% Für Wellenlinien u.a.
\usetikzlibrary{automata,positioning}                     %für Schaltungen
\usetikzlibrary{angles}
\usetikzlibrary{quotes}
\usepackage[RPvoltages, europeanresistors, europeanvoltages]{circuitikz}     %für Schaltungen
\usetikzlibrary{calc} 
\usetikzlibrary{tikzmark, graphs, intersections}
\usetikzlibrary{mindmap, trees}




\usepackage{mathtools} %wird hier im speziellen benötigt um\abs zu definieren
\usepackage{gensymb}
\usepackage{pgfplotstable}
\usepackage{pgfplots}
\usepackage{pgffor}
\usetikzlibrary{datavisualization}
\usepgfplotslibrary{fillbetween}
\usetikzlibrary{patterns} % Hinzufügen der patterns-Bibliothek
\usepgfplotslibrary{groupplots}
%\usepackage{alphabeta}


\pgfplotsset{compat=1.18}
\usepackage{fp}%für Rechungen mit Variablen
\usepackage[round-mode = places, round-precision = 2]{siunitx}

\newcommand{\SSS}[4][1]{
    \begin{tikzpicture}[scale=#1]
        % Definiere die Punkte A und B
        \coordinate[label=left:$A$] (A) at (0,0);
        \coordinate[label=right:$B$] (B) at (#2,0);
        
        % Zeichne die Seite c
        \draw[blue] (A) -- (B) node[midway, below] {c = #2};
        
        % Zeichne die Kreise um A und B
        \draw[name path=circleA, green] (A) circle (#3);
        \draw[name path=circleB, red] (B) circle (#4);
        
        % Finde den Schnittpunkt der beiden Kreise und nenne ihn C
        \path[name intersections={of=circleA and circleB, by={C}}];
        
        % Berechne die Winkel
        \pgfmathsetmacro\angleA{acos((#2^2+#4^2-#3^2)/(2*#2*#4))}
        \pgfmathsetmacro\angleB{acos((#2^2+#3^2-#4^2)/(2*#2*#3))}
        \pgfmathsetmacro\angleC{acos((#3^2+#4^2-#2^2)/(2*#3*#4))}
        
        % Runde die Winkel auf volle Grad
        \pgfmathround{\angleA}
        \let\angleARounded\pgfmathresult
        \pgfmathround{\angleB}
        \let\angleBRounded\pgfmathresult
        \pgfmathround{\angleC}
        \let\angleCRounded\pgfmathresult
        
        % Berechne die Höhe
        \pgfmathsetmacro\height{#2*sin(\angleA)}
        
        % Setze den Clip-Befehl
        %\clip (-1,-1) rectangle (#2+1,\height+1);
        
        % Zeichne die Seiten a und b
        \draw[red] (B) -- (C) node[midway, above right] {a = #3};
        \draw[green] (C) -- (A) node[midway, above left] {b = #4};
        
        % Zeichne die Winkel
        \shorthandoff{"}
        \draw pic["$\alpha = \angleARounded^\circ$", draw=orange, <->, pic text options={yshift=0.1cm}, angle eccentricity=0.8, angle radius=1cm] {angle=B--A--C};
        \draw pic["$\beta = \angleBRounded^\circ$", draw=orange, <->, pic text options={yshift=0.1cm}, angle eccentricity=0.8, angle radius=1cm] {angle=C--B--A};
        \draw pic["$\gamma = \angleCRounded^\circ$", draw=orange, <->, pic text options={yshift=0.1cm}, angle eccentricity=0.8, angle radius=1cm] {angle=A--C--B};
        \shorthandon{"}
    \end{tikzpicture}
}


\newcommand{\WWW}[5][1]{
    % Überprüfe, ob die Summe der Winkel 180° beträgt
    \pgfmathparse{#2+#3+#4}
    \ifdim\pgfmathresult pt=180pt
    \begin{tikzpicture}[scale=#1, transform shape]
        % Definiere die Punkte B und C
        \coordinate[label=left:$B$] (B) at (0,0);
        \coordinate[label=right:$C$] (C) at (#5,0);
        
        % Zeichne die Seite a
        \draw[red] (B) -- (C) node[midway, below] {a = #5};
        
        % Berechne die Seiten b und c mit dem Sinussatz
        \pgfmathsetmacro\sideB{#5*sin(#3)/sin(#2)}
        \pgfmathsetmacro\sideC{#5*sin(#4)/sin(#2)}
        \message{Seite a = #5, Seite b = \sideB, Seite c = \sideC}
        
        % Zeichne die Winkelhalbierenden
        \pgfmathsetmacro\langesC{\sideC+1}
        \pgfmathsetmacro\langesB{\sideB+1}
        \draw[name path=angleB, blue] (B) -- ++(#3:\langesC cm);
        \draw[name path=angleC, green] (C) -- ++({180-#4}:\langesB cm);
        
        % Finde den Schnittpunkt der beiden Winkel und nenne ihn A
        \path[name intersections={of=angleB and angleC, by={A}}];
        \node[above] at (A) {$A$};
        
        % Zeichne die Seiten b und c
        \draw[blue] (A) -- (B) node[midway, above left] {c = \pgfmathprintnumber{\sideC}};
        \draw[green] (A) -- (C) node[midway, above right] {b = \pgfmathprintnumber{\sideB}};
        
        % Zeichne die Innenwinkel
        \shorthandoff{"}
        \draw pic["$\alpha = #2^\circ$", draw=orange, <->, pic text options={yshift=0.1cm}, angle eccentricity=0.8, angle radius=1cm] {angle=B--A--C};
        \draw pic["$\beta = #3^\circ$", draw=orange, <->, pic text options={yshift=0.1cm}, angle eccentricity=0.8, angle radius=1cm] {angle=C--B--A};
        \draw pic["$\gamma = #4^\circ$", draw=orange, <->, pic text options={yshift=0.1cm}, angle eccentricity=0.8, angle radius=1cm] {angle=A--C--B};
        \shorthandon{"}
        \message{Winkel #2 = #2, Winkel #3 = #3, Winkel #4 = #4}
        \message{Seite a = #5, Seite b = \sideB, Seite c = \sideC}
        
    \end{tikzpicture}
    \else
    nicht zu konstruieren
    \fi
}
\newcommand{\WSW}[4][1]{%#1=Skalierung #2=beta, #3=a, #4=gamma
    % Standardmäßig wird die Seite a gezeichnet, also werden beta und gamma angegeben und alpha wird erstmal berechnet.
    \pgfmathsetmacro\alph{180-#2-#4}
    \begin{tikzpicture}[scale=#1, transform shape]
        % Definiere die Punkte B und C
        \coordinate[label=left:$B$] (B) at (0,0);
        \coordinate[label=right:$C$] (C) at (#3,0);
        
        % Zeichne die Seite a
        \draw[red] (B) -- (C) node[midway, below] {a = #3};
        
        % Berechne die Seiten b und c mit dem Sinussatz
        \pgfmathsetmacro\sideB{#3*sin(#2)/sin(\alph)}
        \pgfmathsetmacro\sideC{#3*sin(#4)/sin(\alph)}
        %\message{Seite a = #4, Seite b = \sideB, Seite c = \sideC}
        
        % Zeichne die Winkelhalbierenden
        \pgfmathsetmacro\langesC{\sideC+1}
        \pgfmathsetmacro\langesB{\sideB+1}
        \draw[name path=angleB, blue] (B) -- ++(#2:\langesC cm);
        \draw[name path=angleC, green] (C) -- ++({180-#4}:\langesB cm);
        
        % Finde den Schnittpunkt der beiden Winkelhalbierenden und nenne ihn A
        \path[name intersections={of=angleB and angleC, by={A}}];
        \node[above] at (A) {$A$};
        
        % Zeichne die Seiten b und c
        \draw[blue] (A) -- (B) node[midway, above left] {c = \pgfmathprintnumber{\sideC}};
        \draw[green] (A) -- (C) node[midway, above right] {b = \pgfmathprintnumber{\sideB}};
        
        % Zeichne die Innenwinkel
        \shorthandoff{"}
        \draw pic["$\alpha = \alph^\circ$", draw=orange, <->, pic text options={yshift=0.1cm}, angle eccentricity=0.8, angle radius=1cm] {angle=B--A--C};
        \draw pic["$\beta = #2^\circ$", draw=orange, <->, pic text options={yshift=0.1cm}, angle eccentricity=0.8, angle radius=1cm] {angle=C--B--A};
        \draw pic["$\gamma = #4^\circ$", draw=orange, <->, pic text options={yshift=0.1cm}, angle eccentricity=0.8, angle radius=1cm] {angle=A--C--B};
        \shorthandon{"}
        \message{Winkel \alpha = \alph, Winkel \beta = #2, Winkel \gamma = #4}
        \message{Seite a = #3, Seite b = \sideB, Seite c = \sideC}
        
        
    \end{tikzpicture}
}




\begin{document}
    \WWW{30}{40}{110}{4}\\
    \WSW{50}{5}{60}\\
    \SSS{3}{4}{5}\\
\end{document}

Respuesta1

Conclusión: ¡Usando títulos! Lo intenté varias veces con radiante y grados pero tampoco funcionó, parece que tuve varios otros problemas que se resolvieron "por casualidad/al azar". Esto funciona bien:


\pgfmathsetmacro\sideB{#5*sin(#3)/sin(#2)}

¡Gracias por tu atención! Saludos Patricio

información relacionada