matlab绘制球面模型_matlab绘制球面及柱面(急!!!!)

你看看程序,不懂得可以问我。%程序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;

你可能感兴趣的:(matlab绘制球面模型)