繁体   English   中英

Matlab创建和绘制3D点

[英]matlab creating and plotting 3d points

我试图创建一个包含许多点的网格并进行绘制。 它是这样工作的:

for x=roadLeft:10:roadRight
    for y=0:10:50
       for z=0:10:roadTop
         points(1,i)= x;
         points(2,i)= y;
         points(3,i)= z;
         i=i+1;
      end
    end
end
plot3(points(1,:),points(2,:),points(3,:), '*b')

但这很丑陋,我敢肯定有办法用Meshgrid做到这一点。 我试着做:

[X,Y,Z] = meshgrid(roadLeft:10:roadRight, 0:10:50,0:10:roadTop);
surf(X,Y,Z)

但我收到此错误:

CData must be an M-by-N matrix or M-by-N-by-3 array

Error in graph3d.surfaceplot>localConstructor (line 136)
h = graph3d.surfaceplot(argin{:});

Error in graph3d.surfaceplot (line 7)
h = localConstructor(varargin{:});

Error in surf (line 101)
hh = double(graph3d.surfaceplot(args{:},'parent',parax));

有什么问题,我该怎么办?

下一行允许您绘制由meshgrid创建的3D点:

plot3(X(:), Y(:), Z(:), '*b')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM