matlab三维图形中提取二维图形,求救!
我利用matlab中函数画了一个三维的圆球,现在想提取这个球体中垂直于z轴的圆面,即给z赋固定值提取一个园面f(x,y),下面是我的程序:[x,y,z]=sphere(3...
我利用matlab中函数画了一个三维的圆球,现在想提取这个球体中垂直于z轴的圆面,即给z赋固定值提取一个园面f(x,y),下面是我的程序:
[x,y,z]=sphere(30);
b=surf(x,y,z);
z=5;
for x=1:30,y=1:30,a(x,y)=b(x,y,z);
end
执行后系统报错,个人认为是x,y,此时是矩阵,所以不能赋值a(x,y),但要怎么做呢?希望得到高人帮助,谢谢了!
好像是要分别分割矩阵x,y,z,但是本人属于初学者,实在是查不到相关资料,希望得到高人指点^_^ 展开
[x,y,z]=sphere(30);
b=surf(x,y,z);
z=5;
for x=1:30,y=1:30,a(x,y)=b(x,y,z);
end
执行后系统报错,个人认为是x,y,此时是矩阵,所以不能赋值a(x,y),但要怎么做呢?希望得到高人帮助,谢谢了!
好像是要分别分割矩阵x,y,z,但是本人属于初学者,实在是查不到相关资料,希望得到高人指点^_^ 展开
1个回答
展开全部
[x,y,z]=sphere(50);
X=30*x;
Y=30*y;
Z=30*z;
figure(1)
surf(X,Y,Z);
I=find(abs(Z)>4&abs(Z)<6);%Z=5
J=find(abs(Z)>14&abs(Z)<16);%Z=15
X1=X(I);Y1=Y(I);
X2=X(J);Y2=Y(J);
figure(2)
plot(X1,Y1,X2,Y2)
axis([-30 30 -30 30])
axis equal
X=30*x;
Y=30*y;
Z=30*z;
figure(1)
surf(X,Y,Z);
I=find(abs(Z)>4&abs(Z)<6);%Z=5
J=find(abs(Z)>14&abs(Z)<16);%Z=15
X1=X(I);Y1=Y(I);
X2=X(J);Y2=Y(J);
figure(2)
plot(X1,Y1,X2,Y2)
axis([-30 30 -30 30])
axis equal
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询