4

I want to create a little image for some slides for the purpose crediting a team for some work. I want a set of images to be set around a circle path and each of the images to appear as circles also. How could I approach something like this?

Very roughly, what I'm looking for is something like this:

It feels like TikZ could be used for this in some way, but I don't know where to start.

d3pd
  • 1,718
  • You might also check http://www.ctan.org/tex-archive/.../symbols/comprehensive/symbols-a4.pdf One could put a smiley face into a circular node. – John Kormylo Sep 16 '15 at 16:23

4 Answers4

10

This can be easily done with TikZ and pic:

enter image description here

The code:

\documentclass[border=5pt]{standalone}
\usepackage{tikz}

\definecolor{myblue}{RGB}{24,97,170}
\newlength\Radius

\begin{document}

\begin{tikzpicture}[
hface/.pic={
\fill[myblue]
  (0,0) circle [radius=\Radius];
\fill[white]
  (0,0) circle [radius=0.85\Radius];
\fill[myblue]
  (0,0) circle [radius=0.75\Radius];
\fill[white]
  (-0.3\Radius,0.3\Radius) circle [radius=0.125\Radius];
\fill[white]
  (0.3\Radius,0.3\Radius) circle [radius=0.125\Radius];
\draw[white,line width=0.125\Radius]
  (-0.35\Radius,-0.3\Radius) arc [start angle=210,end angle=330,radius=0.4\Radius];
}
]
\setlength\Radius{1cm}
\foreach \Angle in {30,90,150,210,270,330}
\pic at (\Angle:4cm) {hface};
\end{tikzpicture}

\end{document} 

Placement on a circle is done using the polar coordinate system:

\foreach \Angle in {30,90,150,210,270,330}
\pic at (\Angle:4cm) {hface};

where (\Angle:4cm) is 4cm away in the direction given by \Angle.

Gonzalo Medina
  • 505,128
  • Thank you very much for your clear solution. Part of my goal was to use images (rather than drawn faces) in circles, so I selected the solution by @Mark Wibrow, but your approach with the specified angles is very nice. – d3pd Sep 21 '15 at 09:11
6
\documentclass[pstricks,margin=1cm]{standalone}
\usepackage{multido}
\begin{document}
\begin{pspicture}(-5,-5)(5,5)
    \multido{\i=0+60}{6}{%
    \rput(!3.5 \i\space 30 add PtoC){%
        \pscircle*[linecolor=blue]{1.5}%
        \psset{linecolor=white,linewidth=4pt}%
        \pscircle{1.3}%
        \pscircle*(.7;60){4pt}%
        \pscircle*(.7;120){4pt}%
        \psarc(0,0){.7}{220}{320}%
    }}
\end{pspicture}
\end{document}

enter image description here

Display Name
  • 46,933
  • 1
    Thank you very much for your solution. I have always wanted to know how to include PostScript graphics in LaTeX and this is a nice illustration of how to do this. – d3pd Sep 21 '15 at 09:14
6

Lot's of drawings of smiley faces in the other answers, but if external images of the team members were required, then something like the following could be used/adapted:

\documentclass[tikz,border=5]{standalone}
\tikzset{%
  image 1/.initial=example-image,
  image 2/.initial=example-image-a,
  image 3/.initial=example-image-b,
  image 4/.initial=example-image-c,
  image 5/.initial=example-image-golden,
  image 6/.initial=example-grid-100x100pt,
  path image/.style={path picture={%
     \edef\imagename{\pgfkeysvalueof{/tikz/image #1}}%
     \node at (path picture bounding box.center) 
       {\includegraphics[height=1cm]{\imagename}};
  }}
}
\begin{document}
\tikz\foreach \i in {1,...,6}
  \draw [path image=\i] (\i*60+30:2) circle [radius=0.5cm];
\end{document}

enter image description here

Mark Wibrow
  • 70,437
5
\documentclass{article}
\usepackage{stackengine,wasysym}
\def\usestackanchor{T}%
\usepackage{ifthen}
\usepackage{fp}
\usepackage{graphicx}
\newcounter{index}
\def\startangle{30}
\def\dtheta{60}% degrees per symbol
\def\dR{3.5}% radius of circle in ex's
\def\dotsize{1}% size of dots relative to \mygraphic
\def\charwidth{3}% overall characterwidth in circle radii
\def\mygraphic{\smiley}
\newlength\dRlen
\setlength\dRlen{\dR ex}
\newcommand\dotcircle{%
\def\basechar{\strut%
  \rule[\dimexpr.5\ht\strutbox-.5\dimexpr\charwidth\dRlen]{0pt}%
{\charwidth\dRlen}\rule{\charwidth\dRlen}{0pt}}%
\savestack{\dotcirclegr}{\basechar}%
\setcounter{index}{\startangle}%
\whiledo{\theindex<360}{%
  \FPdiv\thetaRad{\theindex}{57.29578}%
  \FPcos\dx{\thetaRad}%
  \FPmul\dx{\dR}{\dx}%
  \FPsin\dy{\thetaRad}%
  \FPmul\dy{\dR}{\dy}%
  \savestack{\dotcirclegr}{\stackinset{c}{}{c}{\dy ex}{%
    \kern\dx ex\kern\dx ex\scalebox{\dotsize}{\mygraphic}}{\dotcirclegr}}%
  \addtocounter{index}{\dtheta}%
}\dotcirclegr}
\begin{document}
X\dotcircle Y
\def\startangle{0}%
\def\dtheta{30}% degrees per symbol
\def\dR{6.5}% radius of circle in ex's
\def\dotsize{1.4}% size of dots relative to \mygraphic
\def\charwidth{4.5}% overall characterwidth in circle radii
\def\mygraphic{\smiley}%
\dotcircle
\end{document}

enter image description here

  • Thank you very much for your detailed solution. It is delightful to see a non-TikZ approach. While quite detailed, it is illuminating. – d3pd Sep 21 '15 at 09:13