How to draw the figure with four pentagons?

I want to make the next figure formed by 4 pentagons.

I can only do with two and still have a space between them. I can't even do the reflection of the two pentagons to get the desired figure.

\documentclass[a4paper]{article}

\usepackage[brazil]{babel}

\usepackage{graphicx}

\usepackage{tikz}

\begin{document}

\begin{center}

\begin{figure}[!htb]

\begin{tikzpicture}

\draw[ultra thick,rotate=18] (0:2) -- (72:2) -- (144:2) -- (216:2) -- (288:2) -- cycle;

\end{tikzpicture}

\end{figure}

\begin{figure}[!htb]

\begin{tikzpicture}
\draw[ultra thick,rotate around={198:(-0.80,0.58)}] (0:2) -- (72:2) -- (144:2) -- (216:2) -- (288:2) -- cycle;

\end{tikzpicture}

\end{figure}

\end{center}

\end{document}


You can draw more than one shape in the same tikzpicture:

\documentclass[a4paper]{article}

\usepackage[brazil]{babel}

\usepackage{graphicx}

\usepackage{tikz}

\begin{document}

\begin{center}

\begin{figure}[!htb]

\begin{tikzpicture}

\draw[ultra thick,rotate=18] (0:2) -- (72:2) -- (144:2) -- (216:2) -- (288:2) -- cycle;
\begin{scope}[yshift=-3.22cm]
\draw[ultra thick,rotate=198] (0:2) -- (72:2) -- (144:2) -- (216:2) -- (288:2) -- cycle;
\end{scope}
\begin{scope}[xshift=3.8cm]
\draw[ultra thick,rotate=18] (0:2) -- (72:2) -- (144:2) -- (216:2) -- (288:2) -- cycle;
\begin{scope}[yshift=-3.22cm]
\draw[ultra thick,rotate=198] (0:2) -- (72:2) -- (144:2) -- (216:2) -- (288:2) -- cycle;
\end{scope}
\end{scope}
\end{tikzpicture}

\end{figure}

\end{center}

\end{document}


To make things easier, you can use predefined pentagons:

\documentclass[a4paper]{article}

\usepackage{tikz}
\usetikzlibrary{shapes.geometric}

\begin{document}

\begin{figure}[!htb]
\begin{tikzpicture}[every node/.append style={regular polygon, regular polygon sides=5, minimum size=4cm, draw,ultra thick}]
\node at (0,0) {};
\node at (3.8,0) {};
\node[rotate=180] at (0,-3.22) {};
\node[rotate=180] at (3.8,-3.22) {};
\end{tikzpicture}
\end{figure}

\end{document}


Off-topic: please note that placing a floating figure environment inside a non-floating center environment does not make much sense..

Similar answer to @samcarter, but using named nodes -- avoids having to calculate the distances. My motto: Let TikZ do the work!

\documentclass{article}

\usepackage{tikz}

\usetikzlibrary{shapes.geometric}
%% The size can easily altered by changing the minimum size
\tikzset{pgon/.style={regular polygon,regular polygon sides=5,minimum size=1in,draw,ultra thick,outer sep=0pt}}

\documentclass{article}

\usepackage{tikz}

\usetikzlibrary{shapes.geometric}

\tikzset{pgon/.style={regular polygon,regular polygon sides=5,minimum size=1.5in,draw,ultra thick,outer sep=0pt}}

\begin{document}

\tikz{%
\node[pgon] (S) at (0,0) {S};
\node[pgon,anchor=corner 2] (A) at (S.corner 5) {A};
\node[pgon,rotate=180,anchor=corner 4] (B) at (S.corner 3) {B};
\node[pgon,rotate=180,anchor=corner 4] (C) at (A.corner 3) {C};
\draw[fill=purple!50,line join=bevel,ultra thick] (S.corner 5) --
(A.corner 3) --
(C.corner 5) --
(S.corner 4) -- cycle;
}

\end{document}


Update

I have modified the code slightly so that there won't be a problem with mitre issues at the top and bottom of the colored shape. Updated the output as well.

• @marmot Good point. Making the change. Thanks. Apr 4, 2019 at 20:30
• Nice answer. When I compile your code, I do not get these very small purple triangles sticking out at the top and bottom(something like a miter line join at a sharp angle) . Do you know why they are there? What is your workflow to create the image? Apr 5, 2019 at 4:37
• @hpekristiansen Hmmm. I did not see the mitre issue to which you refer, even at very high magnification (MacTeX2019-Pretest). Still, I will modify the code above to take care of that problem... Thanks for your keen observation! Apr 5, 2019 at 10:56

This looks like a code golfing challenge ;)

\documentclass[tikz,border=7pt]{standalone}
\usetikzlibrary{shapes.geometric}
\begin{document}
\tikz
\path[fill=violet](1,1.17557)foreach~in{1,-1}{[scale=~]foreach~in{1,-1}{[yscale=~]
--(1,1.17557)node[regular polygon,regular polygon sides=5,
inner sep=17.11435,draw,fill=white,transform shape,yshift=-9.24486]{}}};
\end{document}


Calculations

• 1cm = 28.452755906694 pt
• x = 1 cm
• y = (cos(pi/5)+cos(2*pi/5))/sin(2*pi/5) = 1.1755705045849463 cm
• inner sep = cos(pi/5)/sqrt(2)/sin(2*pi/5)*28.452755906694 = 17.114359850473026 pt
• yshift = -cos(2*pi/5)/sin(2*pi/5)*28.452755906694 = -9.244860806192047 pt
• I am really tired with your calculation ^^ Jul 20, 2019 at 7:08