如何创建一个不断旋转的3D对象?

时间:2013-07-04 14:11:00

标签: matlab 3d

我使用了isosurface函数,如下所示:

isosurface(data);
grid on; axis equal;
colormap copper;
alpha(0.1);
hold on; 

如何让对象自行旋转?

1 个答案:

答案 0 :(得分:1)

我正在考虑两种可能的解决方案:

首先,您可以多次重绘表面,每次以小角度增加位置。类似的东西:

for i=1:length_of_animation
    [theta,phi,r] = cart2sph(x,y,z);
    [x,y,z] = sph2cart(theta+small_angle, phi, r);
    delete(h);
    h = isosurface(x,y,z)
end

其次,您可以使用campos功能在图上移动相机。见mathworks details。这不会使曲面旋转,但会使视点旋转。玩相机可能有点棘手。