\documentclass[a4paper]{article} \usepackage{pst-solides3d} \pagestyle{empty} \begin{document} %@AUTEUR: Juergen Gilg \begin{pspicture}(-4,-11)(-6,7) \psset{solidmemory} \psset{unit=0.75} \psset{lightsrc=10 5 10,SphericalCoor,viewpoint=20 10 20,Decran=50} \defFunction{ex_18.pst}(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}{} \psSolid[% object=ruban, h=0.5, fillcolor=red, incolor=lightgray, base=0 6 360 {/Angle exch def Angle ex_18.pst Angle G} for, ngrid=1, solidmemory=true, action=none, name=outer, ](0,0,0) \psSolid[% object=ruban, h=1.2, 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=-95, RotX=90 ](0,1.25,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=-120, RotX=90 ](0,0,0) \psSolid[% object=ruban, h=0.7, fillcolor=yellow, incolor=lightgray, base=0 12 360 {/Angle exch def Angle J Angle K} for, ngrid=1, solidmemory=true, action=none, name=inner2, RotZ=45 2 mul neg ](0,0,0) \psSolid[% object=fusion, base=inner1 inner2 inner outer, name=spiro, action=draw** ](0,0,0)% \composeSolid \end{pspicture} \end{document}