我有一个多个球体的位置和半径数组。我试图在一个单独的3D体积图中表达它们,以便我可以看到它们的包装情况。
从Matlab文档中我发现了以下代码。我应该做出哪些改变,以便我们可以为多个球体的位置和半径数组表达它?
[x,y,z] = sphere;
figure
surf(x,y,z)
hold on
surf(x+3,y-2,z); % centered at (3,-2,0)
surf(x,y+1,z-3); % centered at (0,1,-3)
答案 0 :(得分:4)
您可以使用文件交换中的scatter3sph,它只是scatter3
只绘制球体,而不是平面圆圈。它可以表示三个量:两个变量(X和Y)的每个组合的高度(Z),颜色和大小。球体看起来像球形"无论轴缩放。
答案 1 :(得分:0)
我不会使用sphere
来显示3D中的几个球形物体,因为它会产生卵形形状 - 需要使用3D中存在问题的纵横比。
我会使用具有不同大小的圆形标记的3D散点图。这是30个球体的一段代码。
pos = rand(30,3); % position matrix
r = rand(30,1) * 1000; % radius matrix, scaling is mandatory
scatter3( pos(:,1) , pos(:,2) , pos(:,3) , r , 'fill' )