
% root set
\DeclareDocumentCommand{\rs}{ O{1.1cm} O{->} m m O{0} O{0}} {
	\def \radius {#1}
	\def \inputPoints{#3}
	\def \excludeRoots{#4}
	\def \style {#2}
	\def \initialRotation {#5}
	\def \extraStyle {#6}
	
	
	% Number of points
	\pgfmathtruncatemacro{\points}{\inputPoints * 2}
	\pgfmathsetmacro{\degrees}{360 / \points}
	
	\coordinate (0) at (0,0);
	
	% setup the coordinates
	\foreach \x in {1,...,\points}{%
		% Where our node is going to be
		\pgfmathsetmacro{\location}{(\points+(\x-1))*\degrees + \initialRotation}
		
		\coordinate (\x) at (\location:\radius);
	}
	
	
	%setup the vertices
	\ifthenelse{\equal{\excludeRoots}{}}{
		\foreach \x in {1,...,\points}{%
			\ifthenelse{\equal{\extraStyle}{0}}{
				\draw[\style] (0) -- (\x);
			}{
			\draw[\style, \extraStyle] (0) -- (\x);
		}
	}
}{
\foreach \x in {1,...,\points}{%
	\edef \showPoint {1};
	
	\foreach \y in \excludeRoots {
		\ifthenelse{\equal{\x}{\y}}{
			\xdef \showPoint {0};
		}{}
	}
	
	\ifthenelse{\equal{\showPoint}{1}}{
		\ifthenelse{\equal{\extraStyle}{0}}{
			\draw[\style] (0) -- (\x);
		}{
		\draw[\style, \extraStyle] (0) -- (\x);
	}
}{}
}
}  
}

\begin{tikzpicture}
	[
	scale=.55,
	fdomain/.style={fill=blue!15!white,color=blue!15!white,opacity=0.3},
	vdomain/.style={color=blue!85!white},
	face/.style={draw=red!95!black,fill=red!95!black,color=red!95!black,ultra thick, -},
	norm/.style={black,->},
	vertex/.style={inner sep=1pt,circle,draw=green!85!white,fill=green!85!white,thick},
	]
	%
	% Add hyperplanes
%	\rs[1][]{3}{}[30]
	%
	% add words on the outside
	% add words on the outside
%	\draw[norm] (0) -- (1) node[above right] {$-e_1$};
%	\draw[norm] (0) -- (2) node[above] {$-e_2$};
%	\draw[norm] (0) -- (3) node[above left] {$-e_3$};
%	\draw[norm] (0) -- (4) node[below left] {$e_1$};
%	\draw[norm] (0) -- (5) node[below] {$e_2$};
%	\draw[norm] (0) -- (6) node[below right] {$e_3$};
	%
	% Add hyperplanes
	\rs[3.5][ultra thick]{3}{}[60]
	\node[above right] at (1) {$H_{3}$};
	\node[above left] at (2) {$H_{1}$};
	\node[left] at (3) {$H_{2}$};
	\rs[3][dashed]{3}{}[240]
	\draw[face] (0) -- (2) node[right] {$F_0$};
	\draw[face] (0) -- (3) node[above] {$F_1$};
	\draw[face] (0) -- (4) node[right] {$F_2$};
	\draw[face] (0) -- (5) node[left] {$F_3$};
	\draw[face] (0) -- (6) node[above] {$F_4$};
	\draw[face] (0) -- (1) node[left] {$F_5$};
	%
	%
	% Add fundamental domain
    \fill[fdomain] (1) -- (2) -- (3) -- (4) -- (5) -- (6) -- cycle {};
	\node[vdomain] at (270:2.5) {$R_0 \! = \! B$};
	\node[vdomain] at (330:2.2) {$R_1$};
	\node[vdomain] at (30:2.2) {$R_2$};
	\node[vdomain] at (90:2.2) {$R_3$};
	\node[vdomain] at (150:2.2) {$R_4$};
	\node[vdomain] at (210:2.2) {$R_5$};
	%
	\node[vertex] at (0) {};
\end{tikzpicture}
