如何用MATLAB在直角坐标系下绘制球面x^2+y^2+z^2=4被柱面(x-1)^2+y^2=1截

发布时间:2021-02-26 02:42:21

如何用MATLAB在直角坐标系下绘制球面x^2+y^2+z^2=4被柱面(x-1)^2+y^2=1截得的部分曲面.

网友回答

clear;clc;
r=1;%r的值自己改
%柱面部分t=linspace(0,2*pi,37);
q=linspace(-1,1,11);
[tt,qq]=meshgrid(t,q);
x=r/2*(cos(tt)+1);
y=r/2*sin(tt);
z=r*sqrt((1-cos(tt))/2).*qq;
mesh(x,y,z)
hold on
%球面部分p=acos(sin(tt/2)).*qq;
xx=r*sin(tt/2).*cos(p);
yy=r*sin(tt/2).*sin(p);
zz=r*cos(tt/2);
mesh(xx,yy,zz)
axis equal
————————————————
另一种方法clear;clc;
r=1;%r的值自己改
t=linspace(0,1);q=linspace(-1,1);
[x,y,z]=meshgrid(t,q/2,q);
c=cat(4,x.^2+y.^2+z.^2-r^2,x.^2+y.^2-r*x);
v=max(c,[],4);
isosurface(x,y,z,v,0);
axis equal
;grid on;非原创 前人留下 自己收藏
这是用matlab画球面x^2+y^2+z^2=r^2和柱面x^2+y^2=rx相交所成区域
以上问题属网友观点,不代表本站立场,仅供参考!