\section {Solide ruban} Le ruban est un paravent posé sur le sol horizontal. La base du paravent est définie sur le plan $Oxy$ par les coordonnées des sommets placés dans le sens trigonométrique par le paramètre \texttt{base} : \begin{verbatim} \psSolid[object=ruban,h=3,base=x1 y1 x2 y2 x3 y3 ...xn yn,ngrid=n](0,0,0)% \end{verbatim} \subsection{Un simple paravent} \begin{minipage}{0.6\linewidth} \psset{lightsrc=10 0 10,viewpoint=50 -20 30 rtp2xyz,Decran=50,unit=0.75} \begin{pspicture}(-5.5,-4.5)(7,5) \psframe(-5.5,-4.5)(7,5) \psSolid[object=grille,base=-4 6 -4 4,action=draw,linecolor=gray](0,0,0) \psSolid[object=ruban,h=3,fillcolor=red!50, base=0 0 2 2 4 0 6 2, num=0 1 2 3, show=0 1 2 3, ngrid=3 ](0,0,0) \axesIIID(0,2,0)(6,6,4.5) \end{pspicture} \end{minipage} % \begin{minipage}{0.49\linewidth} \begin{verbatim} \begin{pspicture}(-5,-4)(6,7) \psframe(-5,-4)(6,7) \psSolid[ object=grille,base=-4 6 -4 4, action=draw](0,0,0) \psSolid[ object=ruban,h=3, fillcolor=red!50, base=0 0 2 2 4 0 6 2, num=0 1 2 3, show=0 1 2 3, ngrid=3 ](0,0,0) \axesIIID(0,2,0)(6,6,6) \end{pspicture} \end{verbatim} \end{minipage} \subsection{Un paravent sinusoïdal} \begin{center} \psset{unit=0.6} \psset{lightsrc=10 30 10,viewpoint=50 50 20 rtp2xyz,Decran=50} \begin{pspicture}(-10,-6)(12,8) \psframe(-10,-6)(12,7) \defFunction{funcF}(t){2 t 4 mul cos mul}{t 20 div}{} \psSolid[object=grille,base=-6 6 -10 10,action=draw,linecolor=gray](0,0,0) \psSolid[object=ruban,h=2,fillcolor=red!50, resolution=72, base=-200 200 {funcF} CourbeR2+, %% -200 5 200 {/Angle ED 2 Angle 4 mul cos mul Angle 20 div } for, ngrid=4](0,0,0) \axesIIID(5,10,0)(7,11,6) \end{pspicture} \end{center} \begin{verbatim} \psset{unit=0.6} \psset{lightsrc=10 30 10,viewpoint=50 50 20 rtp2xyz,Decran=50} \begin{pspicture}(-10,-5)(12,7) \psframe(-10,-5)(12,7) \defFunction{funcF}(t){2 t 4 mul cos mul}{t 20 div}{} \psSolid[object=grille,base=-6 6 -10 10,action=draw,linecolor=gray](0,0,0) \psSolid[object=ruban,h=2,fillcolor=red!50, resolution=72, base=-200 200 {funcF} CourbeR2+, ngrid=4](0,0,0) \axesIIID(5,10,0)(7,11,6) \end{pspicture} \end{verbatim} \subsection{Une surface ondulée} C'est le même objet que précédemment en lui faisant subir une rotation de $90^{\mathrm{o}}$ autour de $Oy$. \begin{center} \psset{unit=0.6} \psset{lightsrc=10 30 10,viewpoint=50 50 20 rtp2xyz,Decran=30} \begin{pspicture}(-14,-7)(8,5) \psframe(-14,-7)(8,5) \defFunction{funcF}(t){t 4 mul cos}{t 20 div}{} \psSolid[object=grille,base=0 16 -10 10,action=draw,linecolor=gray](0,0,0) \psSolid[object=ruban,h=16,fillcolor=red!50,RotY=90,incolor=green!20, resolution=72, base=-200 200 {funcF} CourbeR2+, ngrid=16](0,0,1) \axesIIID(16,10,0)(20,12,6) \end{pspicture} \end{center} \begin{verbatim} \psset{unit=0.6} \psset{lightsrc=10 30 10,viewpoint=50 50 20 rtp2xyz,Decran=30} \begin{pspicture}(-14,-7)(8,7) \defFunction{funcF}(t){t 4 mul cos}{t 20 div}{} \psSolid[object=grille,base=0 16 -10 10,action=draw,linecolor=gray](0,0,0) \psSolid[object=ruban,h=16,fillcolor=red!50,RotY=90,incolor=green!20, resolution=72, base=-200 200 {funcF} CourbeR2+, ngrid=16](0,0,1) \psframe(-14,-7)(8,7) \axesIIID(16,10,0)(20,12,6) \end{pspicture} \end{verbatim} On peut ensuite l'imaginer comme toit en tôle ondulée d'un abri quelconque. \subsection{Un paravent étoilé : version 1} Le contour du paravent est défini dans une boucle : \begin{verbatim} base=0 72 360 {/Angle ED 5 Angle cos mul 5 Angle sin mul 3 Angle 36 add cos mul 3 Angle 36 add sin mul} for \end{verbatim} la surface bleutée du fond est définie à l'aide d'un polygone dont les sommets sont calculés par la commande \\\verb+\psPoint(x,y,z){P}+ \begin{verbatim} \multido{\iA=0+72,\iB=36+72,\i=0+1}{6}{% \psPoint(\iA\space cos 5 mul,\iA\space sin 5 mul,0){P\i} \psPoint(\iB\space cos 3 mul,\iB\space sin 3 mul,0){p\i} }% \pspolygon[fillstyle=solid,fillcolor=blue!50](P0)(p0)(P1)(p1)(P2)(p2) (P3)(p3)(P4)(p4)(P5)(p5) \end{verbatim} \begin{center} \psset{unit=0.55} \psset{lightsrc=10 0 10,viewpoint=50 20 30 rtp2xyz,Decran=50} \begin{pspicture}(-9,-5)(9,7) \psframe(-9,-5)(9,7) \multido{\iA=0+72,\iB=36+72,\i=0+1}{6}{% \psPoint(\iA\space cos 5 mul,\iA\space sin 5 mul,0){P\i} \psPoint(\iB\space cos 3 mul,\iB\space sin 3 mul,0){p\i} }% \pspolygon[fillstyle=solid,fillcolor=blue!50](P0)(p0)(P1)(p1)(P2)(p2)(P3)(p3)(P4)(p4)(P5)(p5) \defFunction{funcF}(t){t cos 5 mul}{t sin 5 mul}{} \defFunction{funcG}(t){t 36 add cos 3 mul}{t 36 add sin 3 mul}{} \psSolid[object=grille,base=-6 6 -6 6,action=draw,linecolor=gray](0,0,0) \psSolid[object=ruban,h=1,fillcolor=red!50, base=0 72 360 {/Angle exch def Angle funcF Angle funcG} for, num=0 1 2 3, show=0 1 2 3, ngrid=2](0,0,0) \axesIIID(5,5,0)(6,6,6) \end{pspicture} \end{center} \begin{verbatim} \begin{pspicture}(-9,-5)(9,7) \psframe(-9,-5)(9,7) \multido{\iA=0+72,\iB=36+72,\i=0+1}{6}{% \psPoint(\iA\space cos 5 mul,\iA\space sin 5 mul,0){P\i} \psPoint(\iB\space cos 3 mul,\iB\space sin 3 mul,0){p\i} }% \pspolygon[fillstyle=solid,fillcolor=blue!50] (P0)(p0)(P1)(p1)(P2)(p2)(P3)(p3)(P4)(p4)(P5)(p5) \defFunction{funcF}(t){t cos 5 mul}{t sin 5 mul}{} \defFunction{funcG}(t){t 36 add cos 3 mul}{t 36 add sin 3 mul}{} \psSolid[object=grille,base=-6 6 -6 6,action=draw,linecolor=gray](0,0,0) \psSolid[object=ruban,h=1,fillcolor=red!50, base=0 72 360 {/Angle exch def Angle funcF Angle funcG} for, num=0 1 2 3, show=0 1 2 3, ngrid=2](0,0,0) \axesIIID(5,5,0)(6,6,6) \end{pspicture} \end{verbatim} \subsection{Un paravent étoilé : version 2} Le fond du récipient est défini par l'objet \texttt{face} avec l'option \texttt{biface}~: \begin{center} \psset{unit=0.55} \psset{lightsrc=10 0 10,viewpoint=50 -20 20 rtp2xyz,Decran=50} \begin{pspicture}(-9,-4)(9,7) \psframe(-9,-4)(9,7) \defFunction{funcF}(t){t cos 5 mul}{t sin 5 mul}{} \defFunction{funcG}(t){t 36 add cos 3 mul}{t 36 add sin 3 mul}{} \psSolid[object=face,fillcolor=blue!50, biface, base=0 72 360 {/Angle exch def Angle funcF Angle funcG} for, ](0,0,0) \psSolid[object=grille,base=-6 6 -6 6,action=draw,linecolor=gray](0,0,0) \psSolid[object=ruban,h=1,fillcolor=red!50, base=0 72 360 {/Angle exch def Angle funcF Angle funcG} for, ngrid=2](0,0,0) \axesIIID(5,5,0)(6,6,6) \end{pspicture} \end{center} \begin{verbatim} \psset{lightsrc=10 0 10,viewpoint=50 -20 20 rtp2xyz,Decran=50} \begin{pspicture}(-9,-4)(9,7) \psframe(-9,-4)(9,7) \defFunction{funcF}(t){t cos 5 mul}{t sin 5 mul}{} \defFunction{funcG}(t){t 36 add cos 3 mul}{t 36 add sin 3 mul}{} \psSolid[object=face,fillcolor=blue!50, biface, base=0 72 360 {/Angle exch def Angle funcF Angle funcG} for, ](0,0,0) \psSolid[object=grille,base=-6 6 -6 6,action=draw,linecolor=gray](0,0,0) \psSolid[object=ruban,h=1,fillcolor=red!50, base=0 72 360 {/Angle exch def Angle funcF Angle funcG} for, ngrid=2](0,0,0) \axesIIID(5,5,0)(6,6,6) \end{pspicture} \end{verbatim} \endinput