5

我试图在 Matlab 中生成一组 3-D 对象的视图,这样角度会发生变化,但对象大小保持不变。因为 Matlab 试图将整个轴都放入视图中,所以对象会根据是正面观察还是倾斜观察而缩小或扩大。举个例子:

[x,y,z] = sphere(50); % coordinates of a sphere
surf(x,y,z);          % plot the sphere
axis image off
view(0,0)             % at this angle the sphere fills the axes
view(-37.5,30)        % at this angle the sphere is much smaller

我怎样才能使球体无论从哪个角度看都呈现相同的大小?

4

1 回答 1

4

axis功能是您的朋友。尝试添加

axis vis3d

从帮助中,“轴 VIS3D 冻结纵横比属性以启用 3-D 对象的旋转并覆盖拉伸填充。” 如果你有兴趣同样可以通过

ax = gca;
props = {'CameraViewAngle','DataAspectRatio','PlotBoxAspectRatio'};
set(ax,props,get(ax,props));
于 2013-08-10T16:22:00.763 回答