Edit and compile if you like:
\documentclass{article} \usepackage{tikz} \usetikzlibrary{intersections} \usetikzlibrary{math} \usepackage[active,tightpage]{preview} \PreviewEnvironment{tikzpicture} \setlength\PreviewBorder{0.125pt} % % File name: perigals-dissection.tex % Description: % A geometric proof of the Pythagorean theorem % known as the Perigal's dissection is shown. % % Date of creation: July, 30th, 2021. % Date of last modification: October, 9th, 2022. % Author: Efraín Soto Apolinar. % https://www.aprendematematicas.org.mx/author/efrain-soto-apolinar/instructing-courses/ % Source: page 126 of the % Glosario Ilustrado de Matem\'aticas Escolares. % https://tinyurl.com/5udm2ufy % % Terms of use: % According to TikZ.net % https://creativecommons.org/licenses/by-nc-sa/4.0/ % Your commitment to the terms of use is greatly appreciated. % \begin{document} % \begin{tikzpicture}[scale=0.75] \tikzmath{function rotacionx(\x,\y,\angulo) {return \x*cos(\angulo) + \y*sin(\angulo);};} \tikzmath{function rotaciony(\x,\y,\angulo) {return -\x*sin(\angulo) + \y*cos(\angulo);};} \pgfmathsetmacro{\dx}{0.25} % Vertices of the triangle \pgfmathsetmacro{\Ax}{0} \pgfmathsetmacro{\Ay}{0} \coordinate (A) at (\Ax,\Ay); \pgfmathsetmacro{\Bx}{4} \pgfmathsetmacro{\By}{0} \coordinate (B) at (\Bx,\By); \pgfmathsetmacro{\Cx}{4} \pgfmathsetmacro{\Cy}{3} \coordinate (C) at (\Cx,\Cy); % Lengths of the sides \pgfmathsetmacro{\lAB}{sqrt((\Bx - \Ax)*(\Bx - \Ax) + (\By - \Ay)*(\By - \Ay))} \pgfmathsetmacro{\lAC}{sqrt((\Cx - \Ax)*(\Cx - \Ax) + (\Cy - \Ay)*(\Cy - \Ay))} \pgfmathsetmacro{\lBC}{sqrt((\Cx - \Bx)*(\Cx - \Bx) + (\Cy - \By)*(\Cy - \By))} % Slopes of the sides of the triangle \pgfmathsetmacro{\mAC}{(\Cy - \Ay)/(\Cx - \Ax)} \pgfmathsetmacro{\mAB}{(\By - \Ay)/(\Bx - \Ax)} % \pgfmathsetmacro{\angA}{atan(\mAC)} \pgfmathsetmacro{\angB}{90.0} \pgfmathsetmacro{\angC}{90.0-\angA} \pgfmathsetmacro{\angAH}{45+\angA} % Coordinates of the vertices of the squares \pgfmathsetmacro{\Dx}{0} \pgfmathsetmacro{\Dy}{-\lAB} \coordinate (D) at (\Dx,\Dy); \pgfmathsetmacro{\Ex}{\Bx} \pgfmathsetmacro{\Ey}{-\lAB} \coordinate (E) at (\Ex,\Ey); \pgfmathsetmacro{\Fx}{\Bx+\lBC} \pgfmathsetmacro{\Fy}{0} \coordinate (F) at (\Fx,\Fy); \pgfmathsetmacro{\Gx}{\Bx+\lBC} \pgfmathsetmacro{\Gy}{\lBC} \coordinate (G) at (\Gx,\Gy); \pgfmathsetmacro{\Hx}{sqrt(2.0)*\lAC*cos(45+\angA)} \pgfmathsetmacro{\Hy}{sqrt(2.0)*\lAC*sin(45+\angA)} \coordinate (H) at (\Hx,\Hy); \pgfmathsetmacro{\Ix}{rotacionx(\Cx,\Cy,-90)} \pgfmathsetmacro{\Iy}{rotaciony(\Cx,\Cy,-90)} \coordinate (I) at (\Ix,\Iy); % Coordinates of the centroid of the square upon the hypotenuse \pgfmathsetmacro{\Mx}{0.5*(\Ax+\Hx)} \pgfmathsetmacro{\My}{0.5*(\Ay+\Hy)} \coordinate (M) at (\Mx,\My); % Points upon the hypotenuse to draw the dissection \pgfmathsetmacro{\Jx}{\Mx+0.5*\lBC} \pgfmathsetmacro{\Jy}{\My+0.5*\lBC} \coordinate (J) at (\Jx,\Jy); \pgfmathsetmacro{\Kx}{\Mx-0.5*\lBC} \pgfmathsetmacro{\Ky}{\My+0.5*\lBC} \coordinate (K) at (\Kx,\Ky); \pgfmathsetmacro{\Lx}{\Mx-0.5*\lBC} \pgfmathsetmacro{\Ly}{\My-0.5*\lBC} \coordinate (L) at (\Lx,\Ly); \pgfmathsetmacro{\Nx}{\Mx+0.5*\lBC} \pgfmathsetmacro{\Ny}{\My-0.5*\lBC} \coordinate (N) at (\Nx,\Ny); % Length for dissection \pgfmathsetmacro{\mCH}{(\Hy - \Cy)/(\Hx - \Cx)} \pgfmathsetmacro{\xp}{\Cx+(\Jy-\Cy)/\mCH} \pgfmathsetmacro{\yp}{\Jy} \pgfmathsetmacro{\ld}{sqrt((\Jx - \xp)*(\Jx - \xp) + (\Jy - \yp) * (\Jy - \yp))} % Vertices of the dissection upon the leg \pgfmathsetmacro{\Cunox}{\Bx} \pgfmathsetmacro{\Cunoy}{\By - \ld} \coordinate (Cuno) at (\Cunox,\Cunoy); \pgfmathsetmacro{\Cdosx}{\Ax + \ld} \pgfmathsetmacro{\Cdosy}{\Ay} \coordinate (Cdos) at (\Cdosx,\Cdosy); \pgfmathsetmacro{\Ctresx}{\Dx} \pgfmathsetmacro{\Ctresy}{\Dy + \ld} \coordinate (Ctres) at (\Ctresx,\Ctresy); \pgfmathsetmacro{\Ccuatrox}{\Ex - \ld} \pgfmathsetmacro{\Ccuatroy}{\Ey} \coordinate (Ccuatro) at (\Ccuatrox,\Ccuatroy); \path[name path=UT] (Cuno) -- (Ctres); \path[name path=DC] (Cdos) -- (Ccuatro); \path[name intersections={of=UT and DC}]; \coordinate (Q) at (intersection-1); % \pgfmathsetmacro{\ejex}{max(\Ax,\Bx,\Cx) + 1.0} \pgfmathsetmacro{\ejey}{max(\Ay,\By,\Cy) + 1.0} % The right triangle \draw[black] (\Bx-\dx,0) -- (\Bx-\dx,\dx) -- (\Bx,\dx); \draw[blue,thick] (A) -- (B) -- (C) -- cycle; \fill[blue] (A) circle (1.0pt) node[below left]{$A$}; \fill[blue] (B) circle (1.0pt) node[below right]{$B$}; \fill[blue] (C) circle (1.0pt) node[above right]{$C$}; % Squares on the sides of the right triangle \draw[cyan,thick] (0,0) rectangle (\lAB,-\lAB); % lado AB \draw[cyan,thick,rotate=\angA] (0,0) rectangle (\lAC,\lAC); % lado AC \draw[blue,thick,fill=cyan!15,shift={(\Bx,\By)}] (0,0) rectangle (\lBC,\lBC); % lado BC % Rectangle of dissection \draw[blue,thick,fill=cyan!15] (J) -- (K) -- (L) -- (N) -- (J); % Compute the intersections to draw the dissection \coordinate (Jp) at (\Jx+2.0,\Jy); \path[name path=CH] (C) -- (H); \path[name path=JJp] (J) -- (Jp); \path[name intersections={of=CH and JJp}]; \coordinate (Huno) at (intersection-1); % \coordinate (Np) at (\Nx,\Ny-2.0); \path[name path=AC] (A) -- (C); \path[name path=NNp] (N) -- (Np); \path[name intersections={of=AC and NNp}]; \coordinate (Hdos) at (intersection-1); % \coordinate (Lp) at (\Lx-2.0,\Ly); \path[name path=AI] (A) -- (I); \path[name path=LLp] (L) -- (Lp); \path[name intersections={of=AI and LLp}]; \coordinate (Htres) at (intersection-1); % \coordinate (Kp) at (\Kx,\Ky+2.0); \path[name path=HI] (H) -- (I); \path[name path=KKp] (K) -- (Kp); \path[name intersections={of=HI and KKp}]; \coordinate (Hcuatro) at (intersection-1); % Disection upon the hypotenuse \draw[cyan,fill=yellow!35,opacity=0.5] (C) -- (Huno) -- (J) -- (Hdos) -- cycle; \draw[cyan,fill=gray!35,opacity=0.5] (A) -- (Hdos) -- (N) -- (Htres) -- cycle; \draw[cyan,fill=pink!35,opacity=0.5] (I) -- (Htres) -- (L) -- (Hcuatro) -- cycle; \draw[cyan,fill=green!35,opacity=0.5] (H) -- (Huno) -- (K) -- (Hcuatro) -- cycle; % Disection upon the longest leg (AB) \draw[cyan,fill=gray!35,opacity=0.5] (Q) -- (Cuno) -- (B) -- (Cdos) -- cycle; \draw[cyan,fill=yellow!35,opacity=0.5] (Q) -- (Cdos) -- (A) -- (Ctres) -- cycle; \draw[cyan,fill=green!35,opacity=0.5] (Q) -- (Ctres) -- (D) -- (Ccuatro) -- cycle; \draw[cyan,fill=pink!35,opacity=0.5] (Q) -- (Ccuatro) -- (E) -- (Cuno) -- cycle; % \end{tikzpicture} % \end{document}
Click to download: perigals-dissection.tex • perigals-dissection.pdf
Open in Overleaf: perigals-dissection.tex
See more on the author page of Efraín Soto Apolinar.