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相交所成区域www.mh456.com防采集。
[x1,y1,z1]=sphere(400);xq=2*x1;yq=2*y1;zq=z1*2;mesh(xq,yq,zq) %画球alpha(0.9);hold on[x,y,z]=cylinder(2,400);mesh(x,y,z),%画圆2113柱alpha(0.2);colormap(jet)plot3(x(1,:),y(1,:),zeros(length(x(1,:))),'k.')%画交线52614102hold off按上面语句试试1653
[X,Y,Z]=sphere(50); mesh(5*X,5*Y,5*Z)%画球面 hold on; ezmesh('0-x-y',[-5 5])%画平面 [x,y,z]=meshgrid(linspace(-5,5)); contourslice(x,y,z,x+y+z,5*X,5*Y,5*Z,[0 0
一个球2113一个圆,不5261知道你想表4102达什么画球1653interval=2*pi/360;;t=-pi:interval:pi;t2=(-pi:interval:pi)';x=cos(t2/2)*sin(t);y=cos(t2/2)*cos(t);z=sin(t2/2)*ones(size(t));figure,hold on;surf(x,y,z);grid on;alpha(0.2);shading flat; view([1,1,0.5])
sphere(400); xq=2*x1;yq=2*y1;zq=z1*2; mesh(xq,yq,zq) %画球 alpha(0.9); hold on [x,y,z]=cylinder(2,400); mesh(x,y,z),%画圆柱 alpha(0.2); colormap(jet) plot3(x(1,:),y(1,:),zeros(len
内容来自www.mh456.com请勿采集。