\documentclass[a4paper]{article}
\usepackage{pst-V3D,pst-grad,pst-plot}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}% utiliser obligatoirement ce codage !!!
% sinon affichage des lettres accentuées
% très perturbées !!!
\input{hyperboloid_object.tex}
\input{cylindre_object.tex}
\input{cube_object.tex}
\input{sphericalcap_object.tex}
\input{sphereII_object.tex}
\input{sphere_object.tex}
\def\Rectangle(#1,#2)(#3,#4){
newpath
#1 #2 moveto
#3 #2 lineto
#3 #4 lineto
#1 #4 lineto
 closepath }


\definecolor{bleupale}{rgb}{0.8 .8 1}

\pagestyle{empty}
\begin{document}
\begin{center}
\begin{pspicture*}(-7,-7)(9,7)
\psframe*[linecolor=cyan!20](-7,-7)(9,7)
\psset{THETA=-10,PHI=30,Dobs=20,Decran=8,d=1e6,unitgrid=5,todraw=false,interior=true}
\psset{thetaLight=-30,phiLight=30}%
\planThreeDput[fillstyle=solid,fillcolor=green!20,normale=90 -90]{\Rectangle(-6,-12)(12,12)}
\planThreeDput[normale=90 -90,fontscale=0.5]{\Grille(-6,-12)(12,12)}
\textThreeDput[linecolor=blue,fillstyle=solid,fillcolor=blue!80,normale=90 -90,fontscale=1,PSfont=Helvetica](4.5,-9.375,0){Tour 1}
\textThreeDput[linecolor=blue,fillstyle=solid,fillcolor=blue!80,normale=90 -90,fontscale=1,PSfont=Helvetica](7.5,6.75,0){Tour 2}
% texte
%\psset{normale=90 90}
% pour point de vue THETA<0
%\textThreeDput[linewidth=0,xO=0,yO=-4.5,linecolor=red,fillstyle=solid,fillcolor=red,PSfont=Optima]{Centrale nucléaire de Civaux}
{\psset{normale=0 0}
%\planThreeDput[fillstyle=solid,fillcolor=white,visibility=false](0,6,2){\Rectangle(-7,-0.7)(7,0.7)}
\planThreeDput[fillstyle=solid,fillcolor=white](12,0,2){\Rectangle(-7,-0.7)(7,0.7)}
\pnodeXYZ(12,-7,0){A1}\pnodeXYZ(12,-7,3){A2}\psline(A1)(A2)
\pnodeXYZ(12,7,0){B1}\pnodeXYZ(12,7,3){B2}\psline(B1)(B2)
%%\textThreeDput[linewidth=0,xO=0,yO=2,linecolor=red,fillstyle=solid,fillcolor=red,PSfont=Optima,visibility=false](0,6,0){Centrale nucléaire de Civaux}
\textThreeDput[linewidth=0,xO=0,yO=2,linecolor=red,fillstyle=solid,fillcolor=red,PSfont=Optima](12,0,0){Centrale nucléaire de Civaux}}
\psset{R=2.5,H=5,r=1.25}%
% tour de refroidissement 1
\psCylindre[nF=96,nH=2](4.5,-9.375,0){2.5}{0.5}
\psHyperboloid[nF=96](4.5,-9.375,0.5)
\psCylindre[nF=96,nH=2](4.5,-9.375,5){1.25}{1}
% réacteurs
\psCylindre[nF=96,hsbcolor=0.03 0.5](0,2.5,0){1}{1.75}
\psCapSphere[startlatitude=45,linestyle=none,hsbcolor=0.5 0.5](0,2.5,0.75){2 sqrt}
\psCylindre[nF=96,hsbcolor=0.03 0.5](0,-2.5,0){1}{1.75}
\psCapSphere[startlatitude=45,linestyle=none,hsbcolor=0.5 0.5](0,-2.5,0.75){2 sqrt}
%
\psCube[A=3,B=1.5,C=1.5,hsbcolor=0.5 1](2.7,2.5,0.75)
\psCube[A=3,B=1.5,C=1.5,hsbcolor=0.5 1](2.7,-2.5,0.75)
% tour de refroidissement 2
\psCylindre[nF=96,nH=2](7.5,6.75,0){2.5}{0.5}
\psHyperboloid[nF=96](7.5,6.75,0.5)
\psCylindre[nF=96,nH=2](7.5,6.75,5){1.25}{1}
% les fumerolles
\psset{linestyle=none,fillstyle=gradient,gradbegin=cyan!40,gradend=gray!10,gradmidpoint=0}
%\multido{\nx=-8.5+17}{2}{%
\psSphere(4.5,-9.375,6.5){0.25}
\psSphere(4.5,-9.375,7){0.5}
\psSphere(4.5,-9.375,8){0.75}
\psSphere(4.5,-9.375,9){1}%}
%
\psSphere(7.5,6.75,6.5){0.25}
\psSphere(7.5,6.75,7){0.5}
\psSphere(7.5,6.75,8){0.75}
\psSphere(7.5,6.75,9){1}
\end{pspicture*}
\end{center}

\begin{center}
\begin{pspicture*}(-7,-7)(9,7)
\psframe*[linecolor=cyan!20](-7,-7)(9,7)
\psset{THETA=-10,PHI=80,Dobs=100,Decran=60,d=1e6,unitgrid=5,todraw=false,interior=true}
\psset{thetaLight=-30,phiLight=30}%
\planThreeDput[fillstyle=solid,fillcolor=green!20,normale=90 -90]{\Rectangle(-6,-12)(12,12)}
\planThreeDput[normale=90 -90,fontscale=0.5]{\Grille(-6,-12)(12,12)}
\textThreeDput[linecolor=blue,fillstyle=solid,fillcolor=blue!80,normale=90 -90,fontscale=1,PSfont=Helvetica](4.5,-9.375,0){Tour 1}
\textThreeDput[linecolor=blue,fillstyle=solid,fillcolor=blue!80,normale=90 -90,fontscale=1,PSfont=Helvetica](7.5,6.75,0){Tour 2}
% texte
%\psset{normale=90 90}
% pour point de vue THETA<0
%\textThreeDput[linewidth=0,xO=0,yO=-4.5,linecolor=red,fillstyle=solid,fillcolor=red,PSfont=Optima]{Centrale nucléaire de Civaux}
{\psset{normale=0 0}
%\planThreeDput[fillstyle=solid,fillcolor=white,visibility=false](0,6,2){\Rectangle(-7,-0.7)(7,0.7)}
\planThreeDput[fillstyle=solid,fillcolor=white](12,0,2){\Rectangle(-7,-0.7)(7,0.7)}
\pnodeXYZ(12,-7,0){A1}\pnodeXYZ(12,-7,3){A2}\psline(A1)(A2)
\pnodeXYZ(12,7,0){B1}\pnodeXYZ(12,7,3){B2}\psline(B1)(B2)
%%\textThreeDput[linewidth=0,xO=0,yO=2,linecolor=red,fillstyle=solid,fillcolor=red,PSfont=Optima,visibility=false](0,6,0){Centrale nucléaire de Civaux}
\textThreeDput[linewidth=0,xO=0,yO=2,linecolor=red,fillstyle=solid,fillcolor=red,PSfont=Optima](12,0,0){Centrale nucléaire de Civaux}}
\psset{R=2.5,H=5,r=1.25}%
% tour de refroidissement 1
\psCylindre[nF=96,nH=2](4.5,-9.375,0){2.5}{0.5}
\psHyperboloid[nF=96](4.5,-9.375,0.5)
\psCylindre[nF=96,nH=2](4.5,-9.375,5){1.25}{1}
% réacteurs
\psCylindre[nF=96,hsbcolor=0.03 0.5](0,2.5,0){1}{1.75}
\psCapSphere[startlatitude=45,linestyle=none,hsbcolor=0.5 0.5](0,2.5,0.75){2 sqrt}
\psCylindre[nF=96,hsbcolor=0.03 0.5](0,-2.5,0){1}{1.75}
\psCapSphere[startlatitude=45,linestyle=none,hsbcolor=0.5 0.5](0,-2.5,0.75){2 sqrt}
%
\psCube[A=3,B=1.5,C=1.5,hsbcolor=0.5 1](2.7,2.5,0.75)
\psCube[A=3,B=1.5,C=1.5,hsbcolor=0.5 1](2.7,-2.5,0.75)
% tour de refroidissement 2
\psCylindre[nF=96,nH=2](7.5,6.75,0){2.5}{0.5}
\psHyperboloid[nF=96](7.5,6.75,0.5)
\psCylindre[nF=96,nH=2](7.5,6.75,5){1.25}{1}
% les fumerolles
\psset{linestyle=none,fillstyle=gradient,gradbegin=cyan!40,gradend=gray!10,gradmidpoint=0}
%\multido{\nx=-8.5+17}{2}{%
\psSphere(4.5,-9.375,6.5){0.25}
\psSphere(4.5,-9.375,7){0.5}
\psSphere(4.5,-9.375,8){0.75}
\psSphere(4.5,-9.375,9){1}%}
%
\psSphere(7.5,6.75,6.5){0.25}
\psSphere(7.5,6.75,7){0.5}
\psSphere(7.5,6.75,8){0.75}
\psSphere(7.5,6.75,9){1}
\end{pspicture*}
\end{center}

\begin{center}
\begin{pspicture*}(-10,-9)(6,7)
\psframe*[linecolor=cyan!20](-10,-7)(6,7)
\psframe[fillcolor=white,fillstyle=solid](2.5,2.5)(5.5,6.8)
\rput(4,3){%
\psset{unit=0.5}
\small
\pstVerb{/H 5 def /R1 2.5 def /R2 1.25 def
   /c R2 H mul R1 dup mul R2 dup mul sub sqrt div def}
\parametricplot[linecolor=red]{0}{H}{%
/u t H sub c div def
 /r 1 u dup mul add sqrt R2 mul def
 r % v cos mul
 t 0.5 add}%
 \parametricplot[linecolor=red]{0}{H}{%
/u t H sub c div def
 /r 1 u dup mul add sqrt R2 mul def
 r neg % v cos mul
 t 0.5 add}%
\pspolygon[fillstyle=vlines](!R2 neg H 1.5 add)(!R2 H 1.5 add)(!R2 H 0.5 add)(!R2 neg H 0.5 add)
\pspolygon[fillstyle=vlines](!R1 neg 0)(!R1 neg 0.5)(!R1 0.5)(!R1 0)
\psline{<->}(0,0.5)(! 0 H 0.5 add)
\uput[l](! 0 H 0.5 add 2 div){$H$}
\psline{<->}(!R1 neg -0.3)(!R1 -0.3)
\uput[d](! 0 -0.1){$R$}
\psline{<->}(!R2 neg H 1.7 add)(!R2 H 1.7 add)
\uput[u](! 0 H 1.6 add){$r$}}
\psset{THETA=80,PHI=30,Dobs=20,Decran=10,d=1e6,unitgrid=5,todraw=false,interior=true}
\psset{thetaLight=100,phiLight=30}%
\planThreeDput[fillstyle=solid,fillcolor=green!20,normale=90 -90]{\Rectangle(-6,-12)(12,12)}
\planThreeDput[normale=90 -90,fontscale=0.5]{\Grille(-6,-12)(12,12)}
\textThreeDput[linecolor=blue,fillstyle=solid,fillcolor=blue!80,normale=90 -90,fontscale=1,PSfont=Helvetica](4.5,-9.375,0){Tour 1}
\textThreeDput[linecolor=blue,fillstyle=solid,fillcolor=blue!80,normale=90 -90,fontscale=1,PSfont=Helvetica](7.5,6.75,0){Tour 2}
% texte
%\psset{normale=90 90}
% pour point de vue THETA<0
%\textThreeDput[linewidth=0,xO=0,yO=-4.5,linecolor=red,fillstyle=solid,fillcolor=red,PSfont=Optima]{Centrale nucléaire de Civaux}
{\psset{normale=0 0}
\planThreeDput[fillstyle=solid,fillcolor=white,visibility=false](12,0,2){\Rectangle(-7,-0.7)(7,0.7)}
%\planThreeDput[fillstyle=solid,fillcolor=white](12,0,2){\Rectangle(-7,-0.7)(7,0.7)}
\pnodeXYZ(12,-7,0){A1}\pnodeXYZ(12,-7,3){A2}\psline(A1)(A2)
\pnodeXYZ(12,7,0){B1}\pnodeXYZ(12,7,3){B2}\psline(B1)(B2)
\textThreeDput[linewidth=0,xO=0,yO=2,linecolor=red,fillstyle=solid,fillcolor=red,PSfont=Optima,visibility=false](12,0,0){Centrale nucléaire de Civaux}
\textThreeDput[linewidth=0,xO=0,yO=2,linecolor=red,fillstyle=solid,fillcolor=red,PSfont=Optima](12,0,0){Centrale nucléaire de Civaux}}
\psset{R=2.5,H=5,r=1.25}%
% tour de refroidissement 1
\psCylindre[nF=96,nH=2](4.5,-9.375,0){2.5}{0.5}
\psHyperboloid[nF=96](4.5,-9.375,0.5)
\psCylindre[nF=96,nH=2](4.5,-9.375,5){1.25}{1}
% réacteurs
\psCylindre[nF=96,hsbcolor=0.03 0.5](0,-2.5,0){1}{1.75}
\psCapSphere[startlatitude=45,linestyle=none,hsbcolor=0.5 0.5](0,-2.5,0.75){2 sqrt}
\psCylindre[nF=96,hsbcolor=0.03 0.5](0,2.5,0){1}{1.75}
\psCapSphere[startlatitude=45,linestyle=none,hsbcolor=0.5 0.5](0,2.5,0.75){2 sqrt}
%
\psCube[A=3,B=1.5,C=1.5,hsbcolor=0.5 1](2.7,2.5,0.75)
\psCube[A=3,B=1.5,C=1.5,hsbcolor=0.5 1](2.7,-2.5,0.75)
% tour de refroidissement 2
\psCylindre[nF=96,nH=2](7.5,6.75,0){2.5}{0.5}
\psHyperboloid[nF=96](7.5,6.75,0.5)
\psCylindre[nF=96,nH=2](7.5,6.75,5){1.25}{1}
% les fumerolles
\psset{linestyle=none,fillstyle=gradient,gradbegin=cyan!40,gradend=gray!10,gradmidpoint=0}
%\multido{\nx=-8.5+17}{2}{%
\psSphere(4.5,-9.375,6.5){0.25}
\psSphere(4.5,-9.375,7){0.5}
\psSphere(4.5,-9.375,8){0.75}
\psSphere(4.5,-9.375,9){1}%}
%
\psSphere(7.5,6.75,6.5){0.25}
\psSphere(7.5,6.75,7){0.5}
\psSphere(7.5,6.75,8){0.75}
\psSphere(7.5,6.75,9){1}
\end{pspicture*}
\end{center}
\end{document}
