在3D中绘制圆圈

时间:2013-09-26 09:24:19

标签: matlab 3d plot

基本上我想做一个包含不同半径的100个圆的3D图和每个圆的新高度平面(h)。每个圆的半径增加(不断增加)和h不断增加。

我的代码存在的问题是我根据需要绘制了100 * 100个圆圈而不是100个圆圈。

for r=1:1:100              
    t=linspace(0,2*pi);    
    x=r*cos(t);
    y=r*sin(t);
    for h=100:100:10000
    z=h * ones(1, length(t));
    plot3(x,y,z);
    if r == 1 && h == 100
        hold on;
        % Enlarge figure to full screen.
        set(gcf, 'units','normalized','outerposition',[0 0 1 1]);
    end
    drawnow;
end

1 个答案:

答案 0 :(得分:2)

你在另一个循环中有一个循环,每个循环有100个迭代,所以你最终会得到100*100的东西。

我建议你删除内部循环,从for h=100:100:10000开始并替换语句

z=h * ones(1, length(t));

通过

z = 100 * r * ones(1, length(t));

如果我已正确理解你的代码,这可能是你应该做的。