%% $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}