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