怎样用matlab画透明的球

 我来答
yjw413
推荐于2017-09-08 · TA获得超过285个赞
知道小有建树答主
回答量:135
采纳率:100%
帮助的人:125万
展开全部

t=linspace(0,pi,25);

p=linspace(0,2*pi,25);

[theta,phi]=meshgrid(t,p);

x=sin(theta).*sin(phi);

y=sin(theta).*cos(phi);

z=cos(theta);

surf(x,y,z);

axis equal;

alpha(0.3) % 控制图形的透明度,取值0~1

追问
大神,能不能在里面在加一个不透明的小球。
追答

clear

t=linspace(0,pi,25);

p=linspace(0,2*pi,25);

[theta,phi]=meshgrid(t,p);

x=sin(theta).*sin(phi);

y=sin(theta).*cos(phi);

z=cos(theta);

x1=0.5*x;

y1=0.5*y;

z1=0.5*z;

hold on

g1=surf(x,y,z);

g2=surf(x1,y1,z1);

grid on

axis equal;

alpha(g1,0.2) % 控制图形的透明度,取值0~1

深圳量子动力
2024-10-21 广告
双目摄像头可找深圳量子动力双目摄像系统可通过无线方式进行面部捕捉,可以满足在家、工作室、直播间、专业动捕棚等多种场景的不同使用人群。支持Metahuman Animator解算,支持升级animator高精度表情方案... 点击进入详情页
本回答由深圳量子动力提供
shine戚七七
推荐于2017-09-16 · TA获得超过4.7万个赞
知道大有可为答主
回答量:2万
采纳率:75%
帮助的人:2691万
展开全部
列举
set(gca,'XLim',[-2 2],'YLim',[-2 2],'ZLim',[-2 2])
这个是改变坐标长度的
但是只能成比例修改才显示的出来
例如画了个单位球
如果只修改XLim 他显示的仍是原图
首先,来说一下如何画一个透明的平面
x=-100:50:100;
y=x;
[x,y]=meshgrid(x,y)
z=x*0;
surf(x,y,z)
alpha(.5)

如果把坐标的间隔设置的太小 则会造成是面太小 ,线太多。
而alpha设置的透明度是设设置面的透明度,线不可避免

第二步,就是如何去除掉线了
加一句shading interp就可以了。
整个代码如下
x=-100:50:100;
y=x;
[x,y]=meshgrid(x,y)
z=x*0;
%[x,y,z]=sphere(20)
surf(x,y,z);
shading interp
set(gca,'ZLim',[-100 100])
axis equal
alpha(0.6)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式