A part of my code (especially iterating a list of colors with 2 additional counters) below does not seem straightforward.
\documentclass[pstricks,border=12pt,dvipsnames]{standalone}
\usepackage{pst-node,pst-plot}
\def\R[#1,#2]{(1+3*(#2+1)/#1)}
\pstVerb{/I2P {AlgParser cvx exec} def}
\usepackage{etoolbox}
\def\mycolors{}
\begingroup
\renewcommand\DefineNamedColor[4]{\listgadd{\mycolors}{#2}}
\input{dvipsnam.def}
\endgroup
\newcounter{ia}
\newcounter{ib}
\setcounter{ia}{0}
\setcounter{ib}{1}
\def\object#1{%
\pscustom[fillstyle=solid,fillcolor=#1]{\psarc(0,0){!\R[\N,\theia] I2P}{(A\theia)}{(A\theib)}\psarcn(0,0){1}{(A\theib)}{(A\theia)}\closepath}%
\stepcounter{ia}\stepcounter{ib}%
}
\begin{document}
\def\do#1{\object{#1}}
\makeatletter
\def\N{68}
\begin{pspicture}(-2.5,-3.5)(4,2)
\degrees[\N]
\curvepnodes[plotpoints=\numexpr\N+1]{0}{\N}{\R[\N,t] I2P t \pst@angleunit PtoC}{A}
\dolistloop{\mycolors}
\end{pspicture}
\makeatother
\end{document}
How to iterate a list of colors with two additional counters more elegantly?