![pst-solides3d 中的循环环和可见性问题](https://linux22.com/image/240663/pst-solides3d%20%E4%B8%AD%E7%9A%84%E5%BE%AA%E7%8E%AF%E7%8E%AF%E5%92%8C%E5%8F%AF%E8%A7%81%E6%80%A7%E9%97%AE%E9%A2%98.png)
我正在尝试用 绘制两个相互叠合的圆柱环pst-solides3d
。这是我所得到的:
\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}
latex doc.tex; dvips doc.dvi; ps2pdf doc.ps
如果结果为 ( ),则结果如下:
下面是从底部看到的景色(更改为30
):-50
psset
我是否犯了一个愚蠢的错误或者存在可见性问题?
答案1
你不用隐藏面来绘制环。在这种情况下,第二个多边形表面只是在第一个多边形表面之上绘制。你必须收集全部多边形表面,然后使用 绘制它们object=fusion
,然后考虑隐藏的表面。
\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}