你看看程序,不懂得可以问我。%程序xgrid = -2:0.1:2;ygrid = -2:0.
由热心网友提供的答案1:
1、首先我们打开Matlab软件,默认弹出窗口 Command Window,将已请确定的(x,y,
x=-10:0.1:10;y=x;z=x;[x,y,z]=meshgrid(x,y,z); f1=x.^2+y.^2+z.^2-4; f2=x.^2+y.^2-1;f3=x.^2+z.^2-1;f4=z.^2+y.^2-1;p1=patch(isosurface(x,y,z,f1,0)); set(p1, 'FaceColor', 'b', 'EdgeColor', 'none'); p2=patch(isosurface(x,y,z,f2,0)); set(p2, 'FaceColor', 'r', 'EdgeColor', 'none'); p3=patch(isosurface(x,y,z,f3,0)); set(p3, 'FaceColor', 'y', 'EdgeColor', 'none'); p4=patch(isosurface(x,y,z,f4,0)); set(p4, 'FaceColor', 'h', 'EdgeColor', 'none'); daspect([1 1 1])view(3); axis tightcamlight;lighting phong 图像出来之后,注意旋转一下图像3D,否则只能看到2维平面图。
1. 如何用MATLAB 在同一坐标下绘出球面x^2+y^2+z^2=4被柱面(x-1)^2+y^2
扩展阅读,根据您访问的内容系统为您准备了以下扩展内容,希望对您有帮助。
Matlab题目:绘制一个半径为2的球面,在球面的内部绘制一个半径为1,高为1的柱面.急急急!!!
clc
clear
[x y z]=sphere(50);
mesh(2*x,2*y,2*z);
hold on
R=1;%半径
h=1;%圆柱高度
m=100;%分割线的条数
[x,y,z]=cylinder(R,m);%创建以(0,0)为圆心,高度为[0,1],半径为R的圆柱
z=h*z;%高度放大h倍
mesh(x,y,z)%重新绘图
如何用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相交所成区域追问没啥用,.....
用matlab画球面和柱面相交所成区域
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;