Retour

anim.tex

Télécharger le fichier Fichier PDF
Image PNG
\documentclass{article}
\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}
 
\psset{unit=0.75}
\psset{lightsrc=10 5 10,SphericalCoor,viewpoint=20 10 20,Decran=50}
 
\def\myFigure{%
\deffunction{F}(t){t cos 3.2 mul}{t sin 3.2 mul}{}
\deffunction{G}(t){t 3 add cos 3 mul}{t 3 add sin 3 mul}{}
\deffunction{H}(t){t cos 0.8 mul}{t sin 0.8 mul}{}
\deffunction{I}(t){t 12 add cos 0.6 mul}{t 12 add sin 0.6 mul}{}
\deffunction{J}(t){t cos 1.55 mul}{t sin 1.55 mul}{}
\deffunction{K}(t){t 6 add cos 1.4 mul}{t 6 add sin 1.4 mul}{}
\rput(5,-4){\psSolid[%
    object=ruban,
    h=0.7,
    fillcolor=red,
    incolor=lightgray,
    base=0 6 360 {/Angle exch def Angle F Angle G} for,
    ngrid=1,
    solidmemory=true,
    action=none,
    name=outer,
    ](0,0,0)
\psSolid[%
    object=ruban,
    h=0.9,
    fillcolor=blue,
    incolor=gray,
    base=0 24 360 {/Angle exch def Angle H Angle I} for,
    ngrid=1,
    solidmemory=true,
    action=none,
    name=inner,
    RotZ=\ai\space 4 mul
    ](\ai\space cos 2.25 mul,\ai\space sin 2.25 mul,0)
\psSolid[%
    object=ruban,
    h=0.3,
    fillcolor=green,
    incolor=gray,
    base=0 24 360 {/Angle exch def Angle H Angle I} for,
    ngrid=1,
    solidmemory=true,
    action=none,
    name=inner1,
    RotZ=\ai\space 4 mul
    ](\ai\space 180 add cos 2.25 mul,\ai\space 180 add sin 2.25 mul,0)
\psSolid[%
    object=ruban,
    h=0.5,
    fillcolor=yellow,
    incolor=gray,
    base=0 12 360 {/Angle exch def Angle J Angle K} for,
    ngrid=1,
    solidmemory=true,
    action=none,
    name=inner2,
    RotZ=\ai\space 2 mul neg
    ](0,0,0)
\psSolid[%
    object=fusion,
    base=inner1 inner2 inner outer,
    name=spiro,
    action=draw**
    ](0,0,0)%
\composeSolid}
}
 
\FPdiv{\myDeltaA}{360}{90}%
\def\ai{0}%
\FPdiv{\myDeltaB}{360}{90}%
\def\bi{0}%
\multido{\i=1+1}{90}{
 \begin{pspicture}(-4,-4)(4,4)
  \myFigure %
 \end{pspicture}
 \newpage
 \FPadd{\ai}{\ai}{\myDeltaA}
 \FPadd{\bi}{\bi}{\myDeltaB}
}
\end{document}