6

I want a draw that consists of three surfaces, which are kind of parallel with each other, and a bunch of points. Some os these points will be placed in the region between the most external surfaces and others will be placed outside this region. Here is a primitive draw of what I want.

enter image description here

Using the pst-solides3d package and help of the post post I reached at the following draw.

enter image description here

Its quality is great, but it still not passing with clarity the points that are between the most external surfaces (the red ones) and the points that are out of them. From this I would appreciate some help with:

  • (Main question) How can I manage the visual efects of the points in the way that one can easily discern between the points that are in and out of the most external surfaces.

  • (Bonus quation) How can I draw orthogonal lines that goes from the points to the middle surface (blue).

The code from the draw is:

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

\begin{document}

\begin{figure}
\centering
\psset{viewpoint=35 20 15 rtp2xyz,Decran=160,lightsrc=viewpoint}
\begin{pspicture}(-3.5,-2)(3.5,3)
\axesIIID(1,1,1)(3,2,2)

\psSurface[opacity=0.6,strokeopacity=0.4,fillcolor=red!80,linecolor=black!20,
           linewidth=0.4pt,algebraic,ngrid=0.2 0.2,
           Zmin=0,Zmax=2,showAxes=false](-1,-1)(1,1){0.25*e^(-x^2-y^2)}

\psSurface[opacity=0.6,strokeopacity=0.4,fillcolor=blue!80,linecolor=black!20,
           linewidth=0.2pt,algebraic,ngrid=0.2 0.2,
           Zmin=0,Zmax=2,showAxes=false](-1,-1)(1,1){0.25*e^(-x^2-y^2)+0.5}

\psSurface[opacity=0.6,strokeopacity=0.4,fillcolor=red!80,linecolor=black!20,
           linewidth=0.2pt,algebraic,ngrid=0.2 0.2,axesboxed,
           Zmin=0,Zmax=2,showAxes=false](-1,-1)(1,1){0.25*e^(-x^2-y^2)+1}

\psSolid[object=point,fillcolor=yellow,
args=0 0 1]%      
\psSolid[object=point,fillcolor=yellow,
args=0 0.5 1]%   
\psSolid[object=point,fillcolor=yellow,
args=0.5 0 1]%   
\psSolid[object=point,fillcolor=yellow,
args=0.5 0.5 1]%   
\psSolid[object=point,fillcolor=yellow,
args=0 0.25 0.8]%   
\psSolid[object=point,fillcolor=yellow,
args=0.35 0 1]%   
\psSolid[object=point,fillcolor=yellow,
args=0 0.45 0.7]%   
\psSolid[object=point,fillcolor=yellow,
args=0.15 0.15 1]%   
\psSolid[object=point,fillcolor=yellow,
args=0.7 0.7 1]%   

\psSolid[object=point,fillcolor=yellow,
args=1 0 0.5]%     
\psSolid[object=point,fillcolor=yellow,
args=0.15 -0.15 0.5]%     
\psSolid[object=point,fillcolor=yellow,
args=-1 0 0.5]%     
\psSolid[object=point,fillcolor=yellow,
args=0 -0.15 0.3]%     
\psSolid[object=point,fillcolor=yellow,
args=1 0.5 0.1]%     
\psSolid[object=point,fillcolor=yellow,
args=0.15 0 0.2]%     

\psSolid[object=point,fillcolor=yellow,
args=0.15 0 0.1]% 
\psSolid[object=point,fillcolor=yellow,
args=0.15 0.3 0.2]% 
\psSolid[object=point,fillcolor=yellow,
args=1 0.15 -0.1]% 
\psSolid[object=point,fillcolor=yellow,
args=1 -0.6 0.0]% 
\psSolid[object=point,fillcolor=yellow,
args=1 0 0.1]% 
\psSolid[object=point,fillcolor=yellow,
args=0.0 0 -0.2]% 
\psSolid[object=point,fillcolor=yellow,
args=0.15 0.15 -0.15]% 

\psSolid[object=point,fillcolor=yellow,
args=0.15 0 1.3]% 
\psSolid[object=point,fillcolor=yellow,
args=0.15 0.3 1.2]% 
\psSolid[object=point,fillcolor=yellow,
args=1 0.15 1.6]% 
\psSolid[object=point,fillcolor=yellow,
args=1 -0.6 1.5]% 
\psSolid[object=point,fillcolor=yellow,
args=1 0 0.2]% 
\psSolid[object=point,fillcolor=yellow,
args=0.0 0 1.4]% 
\psSolid[object=point,fillcolor=yellow,
args=0.15 0.15 2]%            
\end{pspicture}
\caption{teste}
\end{figure}
\end{document}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.