Retour

cerclesvillarceau.tex

Télécharger le fichier Fichier PDF
Image PNG
\documentclass{article}
\usepackage[dvipsnames,svgnames]{pstricks}
\usepackage{pst-solides3d}
 
\begin{document}
\pagestyle{empty}
 
\bgroup\def\Radius{2}\def\radius{0.75}
\psset{unit=1.25}
\begin{pspicture}(-6,-8)(6,6)
\psframe*[linecolor=gray!50](-6,-8)(6,6)
\psset[pst-solides3d]{viewpoint=20 10 30 rtp2xyz,Decran=20,lightsrc=10 15 10}
\psSolid[object=grille,base=-4 4 -4 4,action=draw*,linecolor=red](0,0,-6)
\defFunction[algebraic]{torus}(u,v)
   {(\Radius+ \radius*cos(u))*cos(v)}
   {(\Radius+ \radius*cos(u))*sin(v)}
   {\radius*sin(u)}
\psSolid[object=surfaceparametree,
   base=0 2 pi mul 0 2 pi mul ,
   action=draw**,fillcolor=yellow!50,
   linecolor=yellow,incolor=yellow!50,grid,
   function=torus,linewidth=0.5\pslinewidth,grid,
   ngrid=25]%
\multido{\r=0+0.3927}{16}{%
\defFunction[algebraic]{villarceauxy}(t)
   {sqrt(\Radius^2-\radius^2)*cos(\r)*sin(t)-(\radius+\Radius*cos(t))*sin(\r)}
   {sqrt(\Radius^2-\radius^2)*sin(\r)*sin(t)+(\radius+\Radius*cos(t))*cos(\r)}
   {-6}
\psSolid[object=courbe,r=0,
    range=0 2 pi mul,linecolor=blue,
    resolution=360,function=villarceauxy]%
\defFunction[algebraic]{villarceau}(t)
   {sqrt(\Radius^2-\radius^2)*cos(\r)*sin(t)-(\radius+\Radius*cos(t))*sin(\r)}
   {sqrt(\Radius^2-\radius^2)*sin(\r)*sin(t)+(\radius+\Radius*cos(t))*cos(\r)}
   {\radius*sin(t)}
\psSolid[object=courbe,r=0,
    range=0 2 pi mul,
    linecolor={[cmyk]{1,0,1,0.5}},linewidth=0.75\pslinewidth,
    resolution=360,
    function=villarceau]%
\defFunction[algebraic]{villarceau}(t)
   {sqrt(\Radius^2-\radius^2)*cos(\r)*sin(t)+(\radius+\Radius*cos(t))*sin(\r)}
   {sqrt(\Radius^2-\radius^2)*sin(\r)*sin(t)-(\radius+\Radius*cos(t))*cos(\r)}
   {\radius*sin(t)}
\psSolid[object=courbe,r=0,
    range=0 2 pi mul,
    linecolor={[cmyk]{1,0,1,0.5}},linewidth=0.75\pslinewidth,
    resolution=360,
    function=villarceau]%
\defFunction[algebraic]{villarceauyz}(t)
   {sqrt(\Radius^2-\radius^2)*cos(\r)*sin(t)-(\radius+\Radius*cos(t))*sin(\r)}
   {-4}
   {\radius*sin(t)}
\psSolid[object=courbe,r=0,
    range=0 2 pi mul,
    resolution=360,
    function=villarceauyz]}
\gridIIID[Zmin=-6,Zmax=2,QZ=-2](-4,4)(-4,4)
\end{pspicture}
\egroup
 
\end{document}