Plot a 3d-plane in MATLAB??

5 次查看(过去 30 天)
Nghia
Nghia 2014-5-22
编辑: Nghia 2014-5-26
I want to plot a 3d-plane (x=0) in MATLAB, (-2<=y<=2) and limited by the line z=4-y^2. Here's my code :
y=linspace(-2,2,50);
z=4-y.^2;
[Y Z]=meshgrid(y,z);
X=0*Y+0*Z;
mesh(X,Y,Z);
axis tight;
Can you give me any hints???? thank you very much!!
  2 个评论
Walter Roberson
Walter Roberson 2014-5-22
编辑:Walter Roberson 2014-5-22
When you say that the plane is to be limited by that z, and that you want to draw plot it, then what difference is there compared to plotting a single curved line in 3 space?
Nghia
Nghia 2014-5-22
编辑:Nghia 2014-5-22
I'm not clear what you're trying to ask but the code which I posted plot just a single curved line in 3 space, but what I want is to plot a plane x=0 and limited by both the line z=0 and z=4-y^2 I mean that I want to use to plot a plane surfc(x,y,z)

请先登录,再进行评论。

采纳的回答

Hugo
Hugo 2014-5-22
This solution is based on patch
y=-2:.01:2;
z=4-y.^2;
numy=length(y);
% Constructing the vertices
V=zeros(numy,3);
for iy=1:numy,
V(iy,:)=[0,y(iy),z(iy)]; % Vertices in the parabola
V(iy+numy,:)=[0,y(iy),0]; % Vertices in the y axis
end
% Constructing faces
F=zeros(numy-1,4); for iy=1:numy-1, F(iy,:)=[iy,iy+1,iy+1+numy,iy+numy]; end
patch('Vertices',V,'Faces',F)
The plot may look like a line. You just need to rotate it and you will see the figure in 3D.
Hope this helps.
  2 个评论
Nghia
Nghia 2014-5-22
thank you for your help!
Nghia
Nghia 2014-5-26
编辑:Nghia 2014-5-26
I have tried your code then I rewrite like this
%code patch('Vertices',V,'Faces',F,'FaceColor',[1 0 0])
but it doesn't change the face's color and it's still black. How can I fix this?

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

标签

尚未输入任何标签。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by