Re: Cropping a surface to a sphere
- To: mathgroup at smc.vnet.net
 - Subject: [mg88215] Re: Cropping a surface to a sphere
 - From: dh <dh at metrohm.ch>
 - Date: Mon, 28 Apr 2008 04:41:12 -0400 (EDT)
 - References: <fv1ff5$es6$1@smc.vnet.net>
 
Hi Szabolcs,
look up RegionFunction in the manual. Here is an example:
ContourPlot3D[-x^4*y^2+x^2*y^4+x^4*z^2-y^4*z^2-x^2*z^4+y^2*z^4==1,{x,-3,3},{y,-3,3},{z,-3,3},Mesh->False,RegionFunction->Function[{x,y,z},x^2+y^2+z^2<9]]
hope this helps, Daniel
Szabolcs Horvát wrote:
> Is there a simple way to crop a surface to a sphere?
> 
> For example, consider the surface
> 
> ContourPlot3D[
>    -x^4*y^2 + x^2*y^4 + x^4*z^2 - y^4*z^2 -
>     x^2*z^4 + y^2*z^4 == 1,
>    {x, -3, 3}, {y, -3, 3}, {z, -3, 3},
>    Mesh -> False]
> 
> It is cropped to a cube (the bounding box) by default.  I would like to 
> crop it to a sphere of radius 3 (or some other region).
> 
> Is there an easy way to do this?  I guess that if there really isn't a 
> better way, I could write a polygon cropping function, convert the 
> graphic to Normal[] form, and crop/remove each polygon one by one, but I 
> was hoping for a simpler solution ... (built-in function or existing 
> package).
>