I wonder whether it is possible to draw the three following quadric surfaces (cone, hyperboloids)

x^2+y^2-z^2=0

x^2+y^2-z^2=1

x^2+y^2-z^2=-1

(and the axis)


using pgfplots 3d or TikZ as it is done in the following image

• Welcome to LaTeX! Hi Brownian and welcome to TeX.sx. In its current form, your question might not receive many answers. Please take a look at the How to Ask-page and try to improve your question according to the guidance found there. This may require you to show some effort on your part in terms of attempting a solution. If you have questions about what to do or if you don't quite understand what this means, please ask for clarification using the add comment function. – percusse Aug 9 '12 at 22:15

run it with xelatex

\documentclass{article}
\usepackage{pst-solides3d}
\begin{document}

\psset{unit=0.8,viewpoint=50 60 30 rtp2xyz,Decran=50,lightsrc=viewpoint,
ngrid=20 20, incolor=red!30, fillcolor=blue!30}
\begin{pspicture}(-4,-4)(4,4)
\defFunction[algebraic]{f1}(u,v){u*cos(v)}{u*sin(v)}{u}
\defFunction[algebraic]{f3}(u,v){u*cos(v)}{u*sin(v)}{sqrt(u^2+1)}
\defFunction[algebraic]{f4}(u,v){u*cos(v)}{u*sin(v)}{-sqrt(u^2+1)}
\defFunction[algebraic]{f5}(u,v){u*cos(v)}{u*sin(v)}{sqrt(u^2-1)}
\defFunction[algebraic]{f6}(u,v){u*cos(v)}{u*sin(v)}{-sqrt(u^2-1)}
\psSolid[object=surfaceparametree,base=-4 4 pi pi neg,function=f1]
\psSolid[object=surfaceparametree,function=f4,base=-1 4 pi pi neg,opacity=0.4]
\psSolid[object=surfaceparametree,function=f3,opacity=0.4]
\psSolid[object=surfaceparametree,function=f6,base=1 4 pi pi neg,
fillcolor=red!30,incolor=blue!30,opacity=0.2]
\psSolid[object=surfaceparametree,function=f5,base=1 4 pi pi neg,opacity=0.2]
\gridIIID[Zmin=-4,Zmax=4](-4,4)(-4,4)
\end{pspicture}

\end{document}


or with viewpoint=50 60 10 rtp2xyz:

• Although the OP asked specifically about PGF, I want to thank you for an amazing image! BTW: Where does the need for XeLaTeX arise? – Dror Aug 10 '12 at 6:41
• @Dror: Maybe it is the simplest compilation method among others such as pdflatex --shell-escape with \usepackage[pdf]{pstricks} or latex->dvips->ps2pdf combo. – kiss my armpit Aug 10 '12 at 7:22