
Two planes cutting each other
조회 수: 22 (최근 30일)
이전 댓글 표시
I'm supposed to draw graph of two plane : the picture must look like this : 

This is my code and It does not work out :
x = linspace (0,1,20);
z = linspace (0,1,20);
[x z]= meshgrid(x,z);
y = sqrt(x) + 0*z;
hold on ;
xlabel('x','FontSize',20);
ylabel('y','FontSize',20);
zlabel('z','FontSize',20);
surf(x,y,z,'FaceColor','b','FaceAlpha',0.5,'EdgeColor','none');
x = linspace (0,1,20);
y = linspace (0,1,20);
[x y]= meshgrid(x,y);
z = 1 - y + 0*x;
zlim = ([ 0 1] );
hold on ;
surf(x,y,z,'FaceColor','b','FaceAlpha',0.3,'EdgeColor','none');
I hope you guys could help me to solve this problem
Thank you !
댓글 수: 0
채택된 답변
Tommy
2020년 4월 24일
One option is to set x, y, and z values to NaN if they do not fall in the appropriate region:
[x1, z1] = meshgrid(linspace(0,1,500));
y1 = sqrt(x1);
[x2, y2] = meshgrid(linspace(0,1,500));
z2 = 1 - y2;
i1 = y1+z1>1;
i2 = y2<sqrt(x2);
x1(i1) = NaN;
y1(i1) = NaN;
z1(i1) = NaN;
surf(x1,y1,z1,'FaceColor','b','FaceAlpha',0.5,'EdgeColor','none');
hold on;
x2(i2) = NaN;
y2(i2) = NaN;
z2(i2) = NaN;
surf(x2,y2,z2,'FaceColor','b','FaceAlpha',0.3,'EdgeColor','none');
view([120 30])
zlim([0 1.5]);
ylim([0 1.5]);
xlim([0 1.5]);
xlabel('x','FontSize',20);
ylabel('y','FontSize',20);
zlabel('z','FontSize',20);

추가 답변 (0개)
참고 항목
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!