用matlab作出圆柱面x^2+y^2=1和圆柱面x^2+z^2=1相交的图形

求过程

clear all

[x,y,z]=cylinder(1,100);%生成标准的100个面的圆柱数据,半径为1,高为1,圆心0,0;
z1=[z(1,:);z(2,:)+2];%圆柱高增高2,变为高3
z2=[z(1,:)-1;z(2,:)+2];%圆柱高增高2,变为高3,并且底加深1,从-1开始,以便与横向的圆柱完全相交


surf(x,y,z2)
% mesh(x,y,z2)
xlabel('x');ylabel('y');zlabel('z')
hold on

surf(x,z1,y)
% mesh(x,z1,y)
axis equal
% hidden off %透视 mesh可用,但看不见相交图形了
% shading interp;%可控制让surf图中出现或去掉网格线
hold off

温馨提示:答案为网友推荐,仅供参考
相似回答