The correct solution (from mathematics point of view) with PSTricks. I used zero-based index here (because the OP wants it).
\documentclass[pstricks,border=12pt,12pt]{standalone}
\usepackage{pst-node,pst-plot}
\makeatletter
\def\Atom#1{%
\begin{pspicture}(-3,-3)(3,3)
\psaxes[labels=none,ticks=none,linecolor=lightgray!50](0,0)(-3,-3)(3,3)
\pscircle[dimen=m,linecolor=lightgray]{2}
\degrees[#1]
\curvepnodes[plotpoints=\numexpr#1+1]{0}{#1}{2 t .5 add \pst@angleunit PtoC}{P}
\psnline[linecolor=blue](0,\Pnodecount){P}
\multido{\i@=0+1}{\Pnodecount}{\qdisk(P\i@){2pt}\uput{2.2}[(P\i@)](0,0){$\omega_{#1}^{\i@}$}}
\end{pspicture}}
\makeatother
\begin{document}
\multido{\i=1+1}{12}{\Atom{\i}}
\end{document}

A bonus puzzle
Why did I add .5
to t
in 2 t .5 add \pst@angleunit PtoC
? :-)
Latest edit
Another method that seems to be more complicated but it is still fun!
\documentclass[pstricks,border=12pt,12pt]{standalone}
\usepackage{pst-eucl,pst-plot}
\psset{CurveType=polygon}
\makeatletter
\def\Atom#1{%
\begin{pspicture}[showgrid=false](-3,-3)(3,3)
\psaxes[labels=none,ticks=none,linecolor=lightgray!50](0,0)(-3,-3)(3,3)
\pscircle[linecolor=red]{2}
\degrees[#1]
\def\points{}\def\names{}\def\angles{}
\multido{\i@=0+1,\n@=.5+1.0}{#1}
{
\xdef\points{\points(!2 \n@\space \pst@angleunit PtoC){A\i@}}
\xdef\names{\names \omega_{\i@},}
\xdef\angles{\angles \n@,}
}
\edef\args{[PointName={\names},PosAngle={\angles}]\points}
\expandafter\pstGeonode\args
\end{pspicture}}
\makeatother
\begin{document}
\multido{\i=1+1}{12}{\Atom{\i}}
\end{document}
\foreach
I guess.w_1
located and what direction dow_2, w_3, etc
go?