\documentclass{article}
\usepackage[latin1]{inputenc}%
\usepackage[T1]{fontenc}
\usepackage[a4paper,margin=2cm]{geometry}
\usepackage{pst-solides3d}
% Manuel Luque
% manuel.luque27@gmail.com
\definecolor{chocolat}{rgb}{0.353 0.227 0.133}
\title{Cercles de Villarceau sur un tore -3}
\date{8 février 2015}
\begin{document}
\maketitle
\begin{center}
\psset{unit=0.75}
% Cercles de Villarceau dans un sens
\begin{pspicture}(-6,-6)(6,6)
%\psframe*[linecolor=black](-6,-6)(6,6)
\psframe(-6,-6)(6,6)
\psset[pst-solides3d]{viewpoint=20 0 40 rtp2xyz,Decran=20,lightsrc=100 0 10 rtp2xyz}
\psset{solidmemory}
\codejps{
/chocolat {0.353 0.227 0.133 setrgbcolor} def
/n1 72 def /n2 72 def /n1n2 n1 n2 mul def
/RayonMajeur 3 def /rayonmineur 1.5 def
/TOREVILLARCEAU{
/biface false def
0 360 0 360 [n1 n2]
{/y exch def
/x exch def pop pop
RayonMajeur dup mul rayonmineur dup mul sub sqrt x sin mul y sin mul rayonmineur RayonMajeur x cos mul add y cos mul add % x
RayonMajeur dup mul rayonmineur dup mul sub sqrt x sin mul y cos mul rayonmineur RayonMajeur x cos mul add y sin mul sub % y
rayonmineur x sin mul % z
}
false % true
newsurfaceparametree
} def
/SOMMETS {TOREVILLARCEAU solidgetsommets aload pop} def
/faces1 {TOREVILLARCEAU solidgetfaces} def
}%
\psSolid[object=new,sommets=SOMMETS,faces=faces1 aload pop,
fillcolor=chocolat,incolor=gray!50,grid,
linewidth=0.0001,
fcol= 0 2 n1n2 2 div cvi 2 sub{/Rang exch def
Rang (Red) Rang 1 add (Yellow)}for
]
\end{pspicture}
% Cercles de Villarceau dans l'autre sens
\begin{pspicture}(-6,-6)(6,6)
\psframe(-6,-6)(6,6)
\psset[pst-solides3d]{viewpoint=20 0 40 rtp2xyz,Decran=20,lightsrc=viewpoint}
\psset{solidmemory}
\codejps{
/n1 72 def /n2 72 def /n1n2 n1 n2 mul def
/RayonMajeur 3 def /rayonmineur 1.5 def
/TOREVILLARCEAU{
/biface false def
360 0 0 360 [n1 n2]
{/y exch def
/x exch def pop pop
RayonMajeur dup mul rayonmineur dup mul sub sqrt x sin mul y sin mul rayonmineur RayonMajeur x cos mul add y cos mul add % x
RayonMajeur dup mul rayonmineur dup mul sub sqrt x sin mul y cos mul rayonmineur RayonMajeur x cos mul add y sin mul sub neg % y
rayonmineur x sin mul % z
}
false % true
newsurfaceparametree
} def
/SOMMETS {TOREVILLARCEAU solidgetsommets aload pop} def
/faces1 {TOREVILLARCEAU solidgetfaces} def
}%
\psSolid[object=new,sommets=SOMMETS,faces=faces1 aload pop,
fillcolor=cyan,incolor=gray!50,grid,
linewidth=0.0001,
fcol= 0 2 n1n2 2 sub{/Rang exch def
Rang (Red) Rang 1 add (Yellow)}for
]
\end{pspicture}
\end{center}
\end{document}
Aucun commentaire:
Enregistrer un commentaire