# [pstricks] clipping in 3d

Michael Sharpe msharpe at ucsd.edu
Tue Mar 17 18:36:41 CET 2009

On Mar 17, 2009, at 7:50 AM, Zbigniew Nitecki wrote:

> I tried clipping, but there's something I don't understand.  In the
> example below, I first want to plot the surface
> z=-xy, but only inside the cylinder x^2 +y^2 \leq 2.25.  I used the
> circle centered at the origin with radius 1.5 as the clipping
> curve.  Then I plotted what should be the boundary curve for this
> surface, using \parametricplot3D.
> The output is attached.  Why the discrepancy?
>
> Example based on Herbert's example from 11/24/2008:
>
> 			\begin{pspicture}(-5,-9.5)(5,3)
> 			\psset{unit=2}
> 			\pstThreeDCoor[xMin=-2, xMax=2, yMin=-2,yMax=2, zMin=0, zMax=2]
> 			\begin{psclip}{%
> 				\pstThreeDCircle[linestyle=none](0,0,0)(1.5,0,0)(0,1.5,0)
> 			}
> 				\psplotThreeD[drawStyle=xyLines](-2,2)(-2,2){%
> 					x y mul neg%
> 				}
> 			\end{psclip}
>
> 			\parametricplotThreeD[linewidth=1.2pt, xPlotpoints=200](0,360){%
> 				1.5 t cos mul %
> 				1.5 t sin mul %
> 				t cos t sin mul 1.5 mul neg%
> 			}
>
> 			\end{pspicture}
Your picture is showing the surface clipped to the projection of the
circle of radius r=1.5, center (0,0,0) in the x y plane, which is not
what you really want. The example from last November clips in vertical
slices perpendicular to the x and y axes. In this particular case, it
would be easier to avoid clipping, and simply draw the line segment
from (x,-\sqrt{r^2-x^2},x\sqrt{r^2-x^x}) to (x,\sqrt{r^2-x^2},-x
\sqrt{r^2-x^x}) for a selection of x values (using multido), then do a
similar thing for a selection of y.

Michael