%% $Id: pst-hyperboloid-doc-exa12.tex 1275 2026-06-03 13:31:25Z herbert $

\begin{externalDocument}[
  compiler=lualatex, runs=1, crop,
  %xindex, xindexOptions={-l DE --config AU},
  %mpwidth=0.6\linewidth, 
  usefancyvrb=false,
  docType=latex,
]{voss}
\DocumentMetadata{}
\documentclass{article}
\pagestyle{empty}
\usepackage{libertinus}
%StartVisiblePreamble
\usepackage[dvipsnames,svgnames]{pstricks}
\usepackage{pst-hyperboloid}
%StopVisiblePreamble
\begin{document}
\begin{pspicture}(-8,-7)(8,7)
\psset{solidmemory,viewpoint=100 30 30 rtp2xyz,lightsrc=viewpoint,Decran=133}
\pstVerb{/Hauteur 6 def          /nEtages 36 def
         /Pas 1 nEtages div def  /nMeridiens 36 def
         /DemiAxeFocal 1 def % rayon de l'étranglement au milieu
         /RayonBases 3 def       /JaunePale {0.89 0.79 0.435 setrgbcolor} def}%
\psSolid[object=new,fillcolor=red!50,incolor=yellow,%hollow,
  action=draw*,sommets=
	0.5 Pas neg -0.5 Pas neg add{
	  /k exch def
	  0 1 nMeridiens 1 sub {
    	/i exch def
    	/r 4 k dup mul mul RayonBases dup mul DemiAxeFocal dup mul sub mul DemiAxeFocal dup mul add sqrt def
    	360 nMeridiens idiv i mul cos r mul
    	360 nMeridiens idiv i mul sin r mul
    	k Hauteur mul
	  } for
	} for,
  faces={
	%face du dessus
	[0 1 nMeridiens 1 sub {}for]
	% les faces latérales
	0 1 nEtages 1 sub {
	  /k1 exch def
	  k1 nMeridiens mul 1 add 1 k1 1 add nMeridiens mul 1 sub {
		/i exch def
		[i i 1 sub nMeridiens i add 1 sub nMeridiens i add]
	  } for
	  [k1 nMeridiens mul k1 1 add nMeridiens mul 1 sub k1 2 add nMeridiens mul 1 sub k1 1 add nMeridiens mul]
	} for
	% face de dessous
	%[nMeridiens nEtages 1 add mul 1 sub -1  nMeridiens nEtages mul {}for ]
	[nMeridiens nEtages mul 1 nMeridiens nEtages 1 add mul 1 sub {}for ]
  },plansepare={[1 0 0 -1.5]},name=coupeHyperboloidTest,action=none]
  %   file=hyperboloideVersion2,
  %   action=writesolid]
  %\psSolid[object=datfile,
  %         file=hyperboloideVersion2, fillcolor=red!50,incolor=yellow, linewidth=0.5\pslinewidth
  %         ]
\psSolid[object=load,incolor=yellow!50,fillcolor=ForestGreen!20, fcol=0 (JaunePale) 1 (JaunePale),% 1078 (JaunePale),
  linewidth=0.5\pslinewidth, % numfaces=all,
  intersectionplan={[1 0 0 -1.5]},intersectioncolor=(bleu),intersectionlinewidth=2,
  intersectiontype=0,load=coupeHyperboloidTest1,hollow=false]
\psSolid[object=plan,definition=equation,args={[1 0 0 -1.5] 90},linecolor=red,
   fillcolor=Aquamarine,planmarks,base=-3 3 -3 3,showBase,action=draw]
\gridIIID[Zmin=-3,Zmax=3](-3,3)(-3,3)
\end{pspicture}
\end{document}
\end{externalDocument}
