¿Cuál es la forma correcta de calcular la raíz cuadrada en coordenadas?

¿Cuál es la forma correcta de calcular la raíz cuadrada en coordenadas?

Estoy intentando crear un archivo que demuestre el teorema de Pitágoras.

En este ejemplo, la hipotenusa tiene una longitud de 4, mientras que la base tiene una longitud de 3. Entonces, la altura debe ser la raíz cuadrada de 7.

\documentclass{article}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}

\node (A) at (0,0) {A};
\node (B) at (3,0) {B};
\node (C) at (0,\pgrmathparse{sqrt(7)}\pgfmathresult) {C};
\draw (A) -- (B) -- (C) -- (A);

\end{tikzpicture}
\end{document}

Sin embargo, no puedo colocar el nodo para la altura. Intercambiar la línea 9 con \node (C) at (0,sqrt(7)) {C};no soluciona el problema. ¿Qué hay de malo en mi código?

Respuesta1

La línea

\node (C) at (0,\pgfmathparse{sqrt(7)}\pgfmathresult) {C};

no funcionará porque TikZ espera contenido totalmente expandible en especificaciones de coordenadas (y \pgfmathparseno lo es).

Como TikZ ya arroja todo en PGFmath, puedes usarlo sqrt(7)directamente, pero debes protegerlo )del analizador porque dicho analizador no es inteligente y tomará todo hasta el siguiente ), incluso si los paréntesis no están equilibrados en ese momento.

Así que tú necesitas

\node (C) at (0, {sqrt(7)}) {C};

Aunque, en este caso simple, también puedes escribir simplemente

\node (C) at (0, sqrt 7) {C};

Agregué una segunda imagen de TikZ que creo que se parece más a algo que creo que quieres.


Porque PGFmath si perdona, incluso podrías hacerlo.

at (0, sqrt(7)

pero esto no es Code Golf.

Código

\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\node (A) at (0,0) {A};
\node (B) at (3,0) {B};
\node (C) at (0, sqrt 7) {C};
\draw (A) -- (B) -- (C) -- (A);
\end{tikzpicture}

\begin{tikzpicture}
\coordinate[label=left: $A$] (A) at (0, 0);
\coordinate[label=right:$B$] (B) at (3, 0);
\coordinate[label=left: $C$] (C) at (0, sqrt 7);
\draw (A) -- (B) -- (C) -- cycle;
\end{tikzpicture}
\end{document}

Producción

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

información relacionada