3

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

enter image description here

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}

enter image description here

3 Answers 3

10

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} 

enter image description here

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

10

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.

Pentagon figure

3
  • 1
    @marmot Good point. Making the change. Thanks.
    – sgmoye
    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!
    – sgmoye
    Apr 5, 2019 at 10:56
3

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}

enter image description here

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
1
  • I am really tired with your calculation ^^
    – Black Mild
    Jul 20, 2019 at 7:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.