\documentclass{article}
\usepackage{animate}
\usepackage[dvipsnames,svgnames]{pstricks}
\usepackage{pst-node,pst-plot,pst-eucl}
\usepackage{graphicx}
\usepackage{pst-solides3d}
\usepackage{multido}
\usepackage[nomessages]{fp}
\pagestyle{empty}
\begin{document}
At the end of a rainbow \dots
\def\R{4} % Radius des festen Kreises (Length fixed Circle)
\def\r{1} % Radius des abrollenden Kreises (Length rolling Circle)
\def\A{0.75} % Abstand erzeugenden Punkt zu Mittelpunkt des abrollenden Kreises (Length Pointer)
\def\winkel{360} % Winkel: 1 Umlauf entspricht 360 (Angle: 1 revolution corresponds to 360)
\FPdiv{\myDeltaA}{\winkel}{89}%
\def\psBall{\rput(0,0){\psSolid[object=sphere,r=0.35,hue,RotX=\ai\space,ngrid=12](0,0,0)}}
\def\myFigure{%
\pstVerb{% erzeugender Punkt (parameterized Hypocycloide)
/Xcoord \ai\space cos \R\space \r\space sub mul \ai\space \R\space \r\space sub \r\space div mul cos \A\space mul add def % (R-r)cos(a)+A cos[(R/r-1) a]
/Ycoord \ai\space sin \R\space \r\space sub mul \ai\space \R\space \r\space sub \r\space div mul sin \A\space mul sub def % (R-r)sin(a)-A sin[(R/r-1) a]
}%
% \pstVerb{% Mittelpunkt des abrollenden Kreises (Midpoint of rotating circle)
% /Xc \ai\space cos \R\space \r\space sub mul def%
% /Yc \ai\space sin \R\space \r\space sub mul def%
% }%
% \def\HypoCyc{% Bahnkurve der Hypozykloide (parameterized Hypocycloide for parametricplot)
% t cos \R\space \r\space sub mul t \R\space \r\space sub \r\space div mul cos \A\space mul add %
% t sin \R\space \r\space sub mul t \R\space \r\space sub \r\space div mul sin \A\space mul sub %
% }%
% Verbindung: Mittelpunkt des abrollenden Kreises zum erzeugenden Punkt = Zeiger (Pointer)
% \rput(0,0){\psline[linecolor=gray,linewidth=0.5pt]{*-o}(!Xc Yc)(!Xcoord Ycoord)}
% Abrollender Kreis (Rolling circle)
% \rput(0,0){\rput(!Xc Yc){\pscircle[linecolor=blue,linewidth=1pt](0,0){\r}}}
% erzeugender Punkt (generating point)
\rput(0,0){\rput(!Xcoord Ycoord){\psBall}}%
% Zeichnen der Hypozykloide (draw the Hypocycloide)
% \rput(0,0){\parametricplot[plotpoints=500,linewidth=1pt,linecolor=red]{0}{\ai}{\HypoCyc}}%
\rput(0,0){\psSolid[object=cube,ngrid=4,
hue,hollow,
a=0.5,
RotZ=-\ai\space](0,0,0)}
}
\newcounter{i}
\setcounter{i}{0}
\begin{animateinline}[controls,loop]{10}
\FPset{ai}{0}%
\begin{pspicture}(-5,-5)(5,5)\myFigure\end{pspicture}%
\stepcounter{i}%
\whiledo{\thei<90}{%
\newframe%
\FPeval{ai}{myDeltaA*\thei}%
\begin{pspicture}(-5,-5)(5,5)\myFigure\end{pspicture}
\stepcounter{i}%
}
\end{animateinline}
\end{document}