[英]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.