Calculate volume from an isosurface
23 ビュー (過去 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?
![Unbenannt.PNG](https://www.mathworks.com/matlabcentral/answers/uploaded_files/199382/Unbenannt.png)
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!