%% $Id: pst-hyperboloid-doc-exa15.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,-6)(8,6)
\psset{solidmemory,viewpoint=50 40 30 rtp2xyz,lightsrc=viewpoint,Decran=50}
\psframe(-5,-6)(5,6)
\pstVerb{/decalage 60 def /H 6 def /Rayon 3 def}%
\psSolid[object=plan,definition=equation,args={[0 0 1 H neg 2 div]},action=none,name=planH]
\psset{plan=planH}
\psProjection[object=cercle,resolution=360,args=0 0 Rayon,linecolor=blue,range=0 360]
\psProjection[object=cercle,resolution=360,args=0 0 Rayon 2 div,linecolor=red,range=0 decalage]
\psSolid[object=plan,definition=equation,args={[0 0 1 H 2 div]},action=none,name=plan0]
\psset{plan=plan0}
\psProjection[object=cercle,resolution=360,args=0 0 Rayon,linecolor=blue,range=0 360]
\psProjection[object=texte,fontsize=20,linecolor=red,PSfont=Symbol,pos=cc,plan=planH,text=q,phi=120](2,1)%
\psPoint(Rayon,0,H 2 div neg){A1}\psdot(A1) \psPoint(Rayon,0,H 2 div){A'1}\psdot(A'1)
\psPoint(0,0,0){O}\psdot(O)
\psLineIIID[linestyle=dashed](Rayon,0,H 2 div)(Rayon neg,0,H 2 div)
\psPoint(0,0,H 2 div neg){O1}\psPoint(0,0,H 2 div){O2}
\psPoint(Rayon decalage cos mul,Rayon decalage sin mul,H 2 div){A2}
\psline[linecolor=red](A1)(A2)\psdots(O1)(O2)(A2)\psline(O2)(A2)
\psline[linestyle=dashed](A1)(A'1) \psline[linestyle=dashed](O1)(O2) \psline(O1)(A1)
\uput[d](A1){$A_1$} \uput[u](A2){$A_2$} \uput[ur](O2){$O_2$} \uput[ur](O1){$O_1$} \uput[ur](O){$O$}
\gridIIID[Zmin=-3,Zmax=3](-3,3)(-3,3)
\end{pspicture}
\end{document}
\end{externalDocument}
