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). >