mardi 5 février 2013

Cercles de Villarceau


 \documentclass{article}
\usepackage[a4paper,margin=2cm]{geometry}
\usepackage[latin1]{inputenc}
\usepackage{bera}
\usepackage[T1]{fontenc}
\usepackage{pst-solides3d}
\title{Sections du tore plan \textit{bitangent} : cercles de Villarceau}
\date{Février 2013}
\begin{document}
\maketitle
Pour un affichage ultérieur rapide et faciliter ainsi la mise au point de la mise en page, il vaut mieux d'abord calculer et enregistrer les paramètres des solides étudiés.

La première étape est l'enregistrement des caractéristiques du tore étudié :
\begin{verbatim}
\begin{pspicture}(-6,-4)(6,4)
\psSolid[r1=3,r0=1.5,
         object=tore,
         ngrid=24 60,
         file=tore2460,action=writesolid]
\end{pspicture}
\end{verbatim}

Ces lignes sont à désactiver par la suite.
\begin{verbatim}
%\begin{pspicture}(-6,-4)(6,4)
%\psSolid[r1=3,r0=1.5,
%         object=tore,
%         ngrid=24 60,
%         file=tore2460,action=writesolid]
%\end{pspicture}
\end{verbatim}

La deuxième étape le calcul et l'enregistrement des caractéristiques des deux solides obtenus par la section du tore par le plan \textit{bitangent}.
%\begin{pspicture}(-6,-1)(6,1)
%\pstVerb{/Phi 60 def
%         /nx {Phi cos} bind def
%         /nz {Phi sin} bind def
%         }%
%\psset{solidmemory}
%\psSolid[object=datfile,file=tore2460,
%         plansepare={[nx 0 nz 0]},
%         name=incline,
%         action=none](0,0,0)
%\psSolid[object=load,
%         load=incline1,
%         file=tore2460Phi601,action=writesolid](0,0,0)
%\psSolid[object=load,
%         load=incline0,
%         file=tore2460Phi600,action=writesolid](0,0,0)
%\end{pspicture}
\begin{verbatim}
\begin{pspicture}(-6,-1)(6,1)
\pstVerb{/Phi 60 def
         /nx {Phi cos} bind def
         /nz {Phi sin} bind def
         }%
\psset{solidmemory}
\psSolid[object=datfile,file=tore2460,
         plansepare={[nx 0 nz 0]},
         name=incline,
         action=none](0,0,0)
\psSolid[object=load,
         load=incline1,
         file=tore2460Phi601,action=writesolid](0,0,0)
\psSolid[object=load,
         load=incline0,
         file=tore2460Phi600,action=writesolid](0,0,0)
\end{pspicture}
\end{verbatim}
Ces deux étapes et en particulier la seconde peuvent prendre un certain temps, qui dépend évidemment de la puissance de l'ordinateur.
\newpage
\begin{center}
Cercles de Villarceau

\psset{unit=0.7}
\begin{pspicture}(-6,-7)(12,4)
\pstVerb{/Phi 60 def
         /nx {Phi cos} bind def
         /nz {Phi sin} bind def
         }%
\psset{viewpoint=50 -45 10 rtp2xyz,Decran=50}
%\lightsource
\psset{lightsrc=viewpoint}
\psframe[fillstyle=solid,fillcolor=gray!20](-6,-7)(12,4)
\psSolid[object=datfile,file=tore2460Phi601,
        hollow,
        rm=0 1,
        linecolor={[cmyk]{1,0,1,0.5}},
        fillcolor=green!20,incolor=yellow!30]
\psset{solidmemory}
\psSolid[object=plan,definition=equation,name=monplan,
         args={[nx 0 nz 0] 90},action=none]
%% affectation du plan de projection
\psset{plan=monplan}
\psProjection[object=cercle,linecolor=red,
              args=1.5 0 3,range=0 360]
\psProjection[object=cercle,linecolor=red,
              args=-1.5 0 3,range=0 360]
\psSolid[object=plan,action=draw,
   definition=equation,
   args={[nx 0 nz 0] 90},
   base=-5 5 -10 5,planmarks,showBase]
\psSolid[object=datfile,file=tore2460Phi600,
        hollow,
        rm=0 1,
        linecolor={[cmyk]{1,0,1,0.5}},
        fillcolor=green!20,incolor=yellow!30](0,0,0)
\composeSolid
\end{pspicture}
\end{center}
\begin{center}
\psset{unit=0.7}
\begin{pspicture}(-6,-7)(12,4)
\pstVerb{/Phi 60 def
         /nx {Phi cos} bind def
         /nz {Phi sin} bind def
         }%
\psset{viewpoint=50 -45 10 rtp2xyz,Decran=50}
\psset{lightsrc=viewpoint}
\psframe[fillstyle=solid,fillcolor=gray!20](-6,-8)(12,4)
\psSolid[object=datfile,file=tore2460Phi601,
        hollow,
        rm=0 1,
        linecolor={[cmyk]{1,0,1,0.5}},
        fillcolor=green!30,incolor=yellow!20]
\psset{solidmemory}
\psSolid[object=plan,definition=equation,name=monplan,
         args={[nx 0 nz 0] 90},action=none]
%% affectation du plan de projection
\psset{plan=monplan}
\psProjection[object=cercle,linecolor=red,
              args=1.5 0 3,range=0 360]
\psProjection[object=cercle,linecolor=red,
              args=-1.5 0 3,range=0 360]
%
\psProjection[object=cercle,linecolor=red,
              args=1.5 -6 3,range=0 360]
\psProjection[object=cercle,linecolor=red,
              args=-1.5 -6 3,range=0 360]
\psSolid[object=plan,action=draw,
   definition=equation,
   args={[nx 0 nz 0] 90},
   linewidth=\pslinewidth,
   base=-5 5 -10 5,planmarks,showBase]
\psSolid[object=datfile,file=tore2460Phi600,
        hollow,
        rm=0 1,
        linecolor={[cmyk]{1,0,1,0.5}},
        fillcolor=green!20,incolor=yellow!20](5.2,0,-3)
\end{pspicture}
\end{center}
\newpage
Un autre point de vue :
\begin{center}
\psset{unit=0.7}
\begin{pspicture}(-10,-6)(8,4)
\pstVerb{/Phi 60 def
         /nx {Phi cos} bind def
         /nz {Phi sin} bind def
         }%
\psset{viewpoint=50 90 10 rtp2xyz,Decran=50}
%\lightsource
\psset{lightsrc=viewpoint}
\psframe[fillstyle=solid,fillcolor=gray!20](-10,-6)(8,4)
\psSolid[object=datfile,file=tore2460Phi601,
        hollow,
        rm=0 1,
        linecolor={[cmyk]{1,0,1,0.5}},
        fillcolor=green!20,incolor=yellow!30]
\psset{solidmemory}
\psSolid[object=plan,definition=equation,name=monplan,
         args={[nx 0 nz 0] 90},action=none]
%% affectation du plan de projection
\psset{plan=monplan}
\psProjection[object=cercle,linecolor=red,
              args=1.5 0 3,range=0 360]
\psProjection[object=cercle,linecolor=red,
              args=-1.5 0 3,range=0 360]
\psSolid[object=plan,action=draw,
   definition=equation,
   args={[nx 0 nz 0] 90},
   base=-5 5 -10 5,planmarks,showBase]
\psSolid[object=datfile,file=tore2460Phi600,
        hollow,
        rm=0 1,
        linecolor={[cmyk]{1,0,1,0.5}},
        fillcolor=green!20,incolor=yellow!30](0,0,0)
\composeSolid
\end{pspicture}
\end{center}
\begin{center}
\psset{unit=0.7}
\begin{pspicture}(-10,-6)(8,4)
\pstVerb{/Phi 60 def
         /nx {Phi cos} bind def
         /nz {Phi sin} bind def
         }%
\psset{viewpoint=50 90 10 rtp2xyz,Decran=50}
\psset{lightsrc=viewpoint}
\psframe[fillstyle=solid,fillcolor=gray!20](-10,-6)(8,4)
\psSolid[object=datfile,file=tore2460Phi601,
        hollow,
        rm=0 1,
        linecolor={[cmyk]{1,0,1,0.5}},
        fillcolor=green!20,incolor=yellow!30]
\psset{solidmemory}
\psSolid[object=plan,definition=equation,name=monplan,
         args={[nx 0 nz 0] 90},action=none]
%% affectation du plan de projection
\psset{plan=monplan}
\psProjection[object=cercle,linecolor=red,
              args=1.5 0 3,range=0 360]
\psProjection[object=cercle,linecolor=red,
              args=-1.5 0 3,range=0 360]
%
\psProjection[object=cercle,linecolor=red,
              args=1.5 -6 3,range=0 360]
\psProjection[object=cercle,linecolor=red,
              args=-1.5 -6 3,range=0 360]
\psSolid[object=plan,action=draw,
   definition=equation,
   args={[nx 0 nz 0] 90},
   linewidth=\pslinewidth,
   base=-5 5 -10 5,planmarks,showBase]
\psSolid[object=datfile,file=tore2460Phi600,
        hollow,
        rm=0 1,
        linecolor={[cmyk]{1,0,1,0.5}},
        fillcolor=green!20,incolor=yellow!20](5.2,0,-3)
\end{pspicture}
\end{center}
\newpage


\begin{center}
Encore un autre point de vue :

\psset{unit=0.7}
\begin{pspicture}(-7,-10)(7,5)
\pstVerb{/Phi 60 def
         /nx {Phi cos} bind def
         /nz {Phi sin} bind def
         }%
\psset{viewpoint=50 0 60 rtp2xyz,Decran=50}
%\lightsource
\psset{lightsrc=viewpoint}
\psframe[fillstyle=solid,fillcolor=gray!20](-5,-10)(5,5)
\psSolid[object=datfile,file=tore2460Phi601,
        hollow,
        rm=0 1,
        linewidth=0.2\pslinewidth,
        linecolor={[cmyk]{1,0,1,0.5}},
        fillcolor=green!20,incolor=yellow!30]
\psset{solidmemory}
\psSolid[object=plan,definition=equation,name=monplan,
         args={[nx 0 nz 0] 90},action=none]
%% affectation du plan de projection
\psset{plan=monplan}
\psProjection[object=cercle,linecolor=red,
              args=1.5 0 3,range=0 360]
\psProjection[object=cercle,linecolor=red,
              args=-1.5 0 3,range=0 360]
\psSolid[object=plan,action=draw,
   definition=equation,
   args={[nx 0 nz 0] 90},
   base=-5 5 -10 5,planmarks,showBase]
\psSolid[object=datfile,file=tore2460Phi600,
        hollow,
        rm=0 1,
        linecolor={[cmyk]{1,0,1,0.5}},
        linewidth=0.2\pslinewidth,
        fillcolor=green!20,incolor=yellow!30](0,0,0)
%\composeSolid
\end{pspicture}
\end{center}
\begin{center}
\psset{unit=0.7}
\begin{pspicture}(-7,-8)(7,4)
\pstVerb{/Phi 60 def
         /nx {Phi cos} bind def
         /nz {Phi sin} bind def
         }%
\psset{viewpoint=50 0 60 rtp2xyz,Decran=50}
\psset{lightsrc=viewpoint}
\psframe[fillstyle=solid,fillcolor=gray!20](-5,-10)(5,5)
\psSolid[object=datfile,file=tore2460Phi601,
        hollow,
        rm=0 1,
        linewidth=0.2\pslinewidth,
        linecolor={[cmyk]{1,0,1,0.5}},
        fillcolor=green!20,incolor=yellow!30]
\psset{solidmemory}
\psSolid[object=plan,definition=equation,name=monplan,
         args={[nx 0 nz 0] 90},action=none]
%% affectation du plan de projection
\psset{plan=monplan}
\psProjection[object=cercle,linecolor=red,
              args=1.5 -6 3,range=0 360]
\psProjection[object=cercle,linecolor=red,
              args=-1.5 -6 3,range=0 360]
\psSolid[object=plan,action=draw,
   definition=equation,
   args={[nx 0 nz 0] 90},
   linewidth=\pslinewidth,
   base=-5 5 -10 5,planmarks,showBase]
\psSolid[object=datfile,file=tore2460Phi600,
        hollow,
        rm=0 1,
        linewidth=0.2\pslinewidth,
        linecolor={[cmyk]{1,0,1,0.5}},
        fillcolor=green!20,incolor=yellow!20](5.2,0,-3)
\psProjection[object=cercle,linecolor=red,linewidth=0.075,
              args=1.5 0 3,range=0 360]
\psProjection[object=cercle,linecolor=red,linewidth=0.075,
              args=-1.5 0 3,range=0 360]
\end{pspicture}
\end{center}
\end{document}

Fichiers (CerclesVillarceau.pdf, CerclesVillarceau.tex) dans :


 Le code fait partie des paragraphes précédents (amélioration du tracé des cercles)

Aucun commentaire:

Enregistrer un commentaire