使用 pst-solides 3D 中的 psSurface 实现透明度

使用 pst-solides 3D 中的 psSurface 实现透明度

我正在尝试使用 pst-solides3D 和选项 psSurface 绘制图形:

问题如下:

我想要绘制 z = +/- (y^2-y^2),它应该给出一个鞍点图,其中线 x=y 和 x=-y 等于 0。视觉上很漂亮。

\documentclass[a4paper,10pt]{article}
\usepackage[utf8x]{inputenc}

\usepackage[english]{babel} %change language if necessary
\usepackage[english,verbose]{layout}%change language if necessary
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{xspace}
\usepackage{pstricks}
\usepackage{pst-solides3d}
\usepackage{epstopdf}

\psset{unit=0.35} 
\psset{lightsrc=30 -10 10} 
\psset{viewpoint=50 20 30 rtp2xyz,Decran=70} 
\begin{pspicture}(-11,-8)(7,8) 
%+ Saddle graph z= (y^2-x^2)
\psSurface[ngrid=.2 .2,algebraic,Zmin=-1,Zmax=1, 
linewidth=0.5\pslinewidth,spotX=r,spotY=d, 
spotZ=l, 
hue=0 1](-5,-5)(5,5){% 
(x^2-y^2)/3 } 
%- Saddle graph z = (x^2-y^2)
\psSurface[ngrid=.2 .2,algebraic,Zmin=-1,Zmax=1, 
linewidth=0.5\pslinewidth,spotX=r,spotY=d, 
spotZ=l,
hue=0 1](-5,-5)(5,5){% 
(-x^2+y^2)/3 } 
\end{pspicture} 

但是如您所见,这并不令人满意。第二张图绘制在了第一张图上,并覆盖了第一张图不应该覆盖的部分。我可以使用任何透明度命令吗,或者让 pstricks 了解什么在什么前面?

我想要的渲染应该是这样的

在此处输入图片描述

它知道什么应该放在前面,什么不应该放在前面。

答案1

如果不使用隐藏线和表面,绘制多个 3D 函数是没有意义的。

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

\begin{document}
\psset{unit=0.35,lightsrc=30 -10 10,viewpoint=50 20 30 rtp2xyz,Decran=70,solidmemory} 
\begin{pspicture}(-11,-8)(7,8) 
\defFunction[algebraic]{F1}(x,y){}{}{ (x^2-y^2)/3 }
\psSolid[object=surface,function=F1,ngrid=.2 .2,linewidth=0.5\pslinewidth,
  hue=0 1,base=-5 5 -5 5,action=none,name=Func1]
\defFunction[algebraic]{F2}(x,y){}{}{ (-x^2+y^2)/3 } 
\psSolid[object=surface,function=F2,ngrid=.2 .2,linewidth=0.5\pslinewidth, 
  hue=0 1,base=-5 5 -5 5,action=none,name=Func2]
\psSolid[object=fusion,base=Func1 Func2,opacity=0.6]
\end{pspicture} 

\end{document}

在此处输入图片描述

和没有设置时一样opacity(真实隐藏表面)

在此处输入图片描述

如果你想根据 z 值使用颜色

\psSolid[object=surface,function=F1,ngrid=.2 .2,
         linewidth=0.5\pslinewidth,
  
         tablez=-5 0.2 5 {} for, zcolor=0.66 0,
         base=-5 5 -5 5,action=none,name=Func1]


相关内容