Calculate volume from an isosurface

Hello,
i have a isosurface like in the picture below generated by the commands isosurface and patch.
How can I calculate the volume enclosed by this surface and the coordinate planes?
Unbenannt.PNG
Thank you for your help in advance.

1 Comment

This seems to imply, that the surface is closed.

Sign in to comment.

 Accepted Answer

If your iso surface is get from isosurface() command then your volume is set of voxels
V <= isovalue
or
V >= isovalue
So the volume is approximatively
V = sum(V <= isovalue) * dV % change test sign accordingly
with, for uniform grid
dV = dX*dY*dZ
or
V = sum((V <= isovalue).*dX*dY*dZ)
otherwise

More Answers (1)

madhan ravi
madhan ravi on 19 Dec 2018

5 Comments

Hello Madhan,
Thanks for your reply.
I've already found this thread but dont know, how to do this where the isosurface can be of any shape. In this thread the isosurface is just one plane. But my surfaces can consist of two planes like in the picture above. Or even consists of two seperate volumes like in the following picture
Unbenannt2.PNG
It is not clear, what you consider as "volume" here. You need a closed surface for a volume.
The borders of the volume which has to be calculated is the coordinate system as displayed and the surface.
@Rafeal so maybe someone could help you then I thought the links could help you
@Rafael: What eactly does "as displayed" mean. Please do not let us guess, what you want. Somebody has to write down (preferably in code) how your volume is limited. Currently I only see two green surfaces and the 3 white planes of teh axes object. But this is not a closed volume. If you mean 6 planes at specific x, y and z positions, please explain this explicitly.
The shown 2 surfaces split the box created by the planes at x=200:-200, y=55.3:263.4, z=-68:100 into 3 different volumes. How to you choose the interested one uniquely?

Sign in to comment.

Asked:

on 19 Dec 2018

Commented:

Jan
on 19 Dec 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!