Calculate volume from an isosurface
20 次查看(过去 30 天)
显示 更早的评论
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?
Thank you for your help in advance.
采纳的回答
Bruno Luong
2018-12-19
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
0 个评论
更多回答(1 个)
madhan ravi
2018-12-19
5 个评论
madhan ravi
2018-12-19
@Rafeal so maybe someone could help you then I thought the links could help you
Jan
2018-12-19
@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?
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!