# Wolfram Mathematica

## Object-Specific Clip Planes

Set a clip plane that is specific to a single object.

In[1]:=
Graphics3D[{Sphere[{0, 0, 0}], Style[Sphere[{1, 0, 0}], ClipPlanes -> InfinitePlane[{{0, 0, -1}, {0, 1, 0}, {1, 0, 0}}]]}]
Out[1]=

Set a clip plane for a list of objects.

In[2]:=
spheres1 = Table[Sphere[2 {Quotient[n, 3], Mod[n, 3], 0}], {n, 0, 9, 2}]; spheres2 = Table[Sphere[2 {Quotient[n, 3], Mod[n, 3], 0}], {n, 1, 8, 2}];
In[3]:=
plane1 = InfinitePlane[{{0, 0, 0.4}, {1, 0, 0.4}, {0, 1, 0.4}}]; plane2 = InfinitePlane[{{0, 0, -0.4}, {0, 1, -0.4}, {1, 0, -0.4}}];
In[4]:=
Graphics3D[{Cyan, Style[spheres1, ClipPlanes -> plane1], Yellow, Style[spheres2, ClipPlanes -> plane2]}]
Out[4]=

Use a clip plane to visualize cleaning up a noisy point cloud.

show complete Wolfram Language input
In[5]:=
bunny = RandomChoice[ ExampleData[{"Geometry3D", "StanfordBunny"}, "VertexData"], 2000]; noise = Point[RandomReal[{-.1, .2}, {10000, 3}]];
In[6]:=
Manipulate[ Graphics3D[{Point[bunny], Style[noise, ClipPlanes -> Dynamic[InfinitePlane[{{0, 0, z}, {1, 0, z}, {0, 1, z}}]]]}, PlotRange -> {{-.1, .1}, {-0.1, .1}, {0, 0.2}}], {z, 0, 0.2}]