如何在MATLAB中使用isosurface命令计算音量。我有一个网格数据xg,yg,zg所有尺寸都是90 x 90 x 90,我插入到xq,yq,zq中,尺寸为250 x 250 x 250 f的大小为(xg,yg,zg),每个网格具有一定的密度值。
G=interp3(xg,yg,zg,f,xq,yq,zq,'Cubic');
p1=patch(isosurface(xq,yq,zq,G,1.5));
isonormals(xq,yq,zq,G,p1);
现在我想知道这个isosurface命令在密度为1.5
时产生的物体的体积答案 0 :(得分:0)
所以,我有一个解决方案,如果您认为我的解决方案是错误的,那么请纠正我。
divide=100;
b=linspace(-1,1,divide+1);
a=linspace(-1,1,divide);
[x,y,z]=meshgrid(a,a,a);
for i=1:length(x)
for j=1:length(y)
for k=1:length(z)
G(i,j,k)=rand(1);
end
end
end
actvolume=2^3
spacing=b(2)-b(1);
computedVolu=sum(G(:))*spacing^3
isovalue=0.5;
p = patch(isosurface(x, y, z, G, isovalue));
isonormals(x,y,z,G, p);
set(p,'FaceColor','b','EdgeColor','none','FaceAlpha',1);