Calculate volume from an isosurface

22 vues (au cours des 30 derniers jours)
Rafael Kübler
Rafael Kübler le 19 Déc 2018
Commenté : Jan le 19 Déc 2018
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 commentaire
Jan
Jan le 19 Déc 2018
This seems to imply, that the surface is closed.

Connectez-vous pour commenter.

Réponse acceptée

Bruno Luong
Bruno Luong le 19 Déc 2018
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

Plus de réponses (1)

madhan ravi
madhan ravi le 19 Déc 2018
  5 commentaires
madhan ravi
madhan ravi le 19 Déc 2018
@Rafeal so maybe someone could help you then I thought the links could help you
Jan
Jan le 19 Déc 2018
@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?

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by