Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I'm trying to draw two cylindric rings on top of each other with pst-solides3d. Here is what I have:

\documentclass{article}

\usepackage{pstricks}
\usepackage{pst-solides3d}

\begin{document}

    \begin{pspicture}(0,0)(3,5)

    \psset{viewpoint=60 80 30 rtp2xyz,Decran=60,lightsrc=viewpoint}

    \psSolid[object=anneau, h=1.7, R=4.4, r=3.8](0,0, 0.77)

    \psSolid[object=anneau, h=0.6, R=5, r=4.4](0,0,0.46)

    \end{pspicture}

\end{document}

And here is what if gives (latex doc.tex; dvips doc.dvi; ps2pdf doc.ps):

And a view from the bottom (change 30 to -50 in psset):

Have I done a silly mistake or there is a visibility problem ?

share|improve this question
add comment

1 Answer

up vote 6 down vote accepted

you draw the rings without using hidden surfaces. In this case the second polygon surfaces are simply drawn over the first ones. You have to collect all polygon surfaces and then draw them by using object=fusion, then hidden surfaces are taken into account.

\documentclass{article}

\usepackage{pst-solides3d}

\begin{document}
\begin{pspicture}(-3,-3)(3,5)
 \psset{viewpoint=60 80 30 rtp2xyz,Decran=60,lightsrc=viewpoint,solidmemory}
 \psSolid[object=anneau,h=1.7,R=4.4,r=3.8,
          name=A1,action=none,hue=0 1](0,0, 0.77)% no action, name=A1
 \psSolid[object=anneau,h=0.6,R=5,r=4.4,
          name=A2,action=none](0,0,0.46)%          no action, name=A2
 \psSolid[object=fusion,base=A1 A2]
\end{pspicture}
\end{document}

enter image description here

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.