2
$\begingroup$

bunny= Import[ "http://exampledata.wolfram.com/bunny.noff.gz" ]

How can I crop this .noff object to get something similar to the attached photo? The 2nd image has 30% cropped and the last image has 50% cropped.enter image description here

$\endgroup$
  • $\begingroup$ try ClipPlanes: e.g. Graphics3D[bunny[[1]], ClipPlanes -> {-1, 1, 0, 1}]? $\endgroup$ – kglr Mar 18 at 20:09
1
$\begingroup$

You can use the undocumented/internal function

Charting`get3DPlotRange

That will give you the bounding box for the Graphics3D object. Then, you can just use Show with PlotRange. Cf.:

In[578]:= Charting`get3DPlotRange[bunny]

Out[578]:= {{-81.0932, 81.0932}, {-80.3823, 80.3823}, {-62.851, 62.851}}

Show[bunny, PlotRange -> {All, {0, 80}, {0, 62}}]

enter image description here

This should do what you want, I think. It does seem to be a little finnicky as to how these ranges actually map onto the shape, but a little fiddling should get you where you want to be without much issue. Here's what it looks like with multiple ranges:

GraphicsRow[Show[bunny, PlotRange -> {All, #, All}] & /@ {{-80, 80}, {0, 40}, {0,20}}, ImageSize -> 600]

enter image description here

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.