Source de rainbow.tex
Fichier TeX
\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}

 

Validation CSS Validation XHTMLSyracuse — Dernière modification : 26 novembre 2007 (0.08s - 3482584 - 8 septembre 2008) vers le haut