如何用matlab画一个透明的同心球

目录

先看看球

figure

sphere

mesh

hold on

FaceAlpha

matlab代码

先看看球

配图说明球体积公式推导的时候要用到同心球,因此要画一个。

长这个样子。

因为它是三维的,所以可以转动它来看:

再转一下:

看看俯视图,就是一堆同心圆:

好了,到了学习的时候了,先解释一下用到的各种函数。

figure

figure用来生成一个窗口。

sphere

sphere函数用于生成单位球面的 x,y,z 的坐标。

默认生成 20 x 20 个面的球面。

还需要学习sphere的一个功能。

[X,Y,Z] = sphere

这个是在三个矩阵内存储球面的坐标。

mesh

mesh(x,y,z)

生成x、y和z指定的三维网格图。

上面解释了画球的东西,接下来要解释画同心球的东西。

hold on

由于我们只能一个一个球的画,所以我们需要让之前画的球保留下来,让所有画的球在一个地方出现。

注意hold on这个代码的出现位置十分重要,我今天学的时候,一开始画的总是二维图的同心圆,改来改去死活不变三维图,13行的代码,最后尝试换了一下hold on的位置,球出现了,纸上得来终觉浅,绝知此事要躬行……

FaceAlpha

还有一个问题,一堆球重叠在一起,大球包小球,得把它们弄透明才看清楚是同心球。

首图的透明度是0.3,其他图的透明度是0.1,下面的代码写着是0.1的。

matlab代码

figure
for r = 1:1:10 
    balldraw(r)
end
function balldraw(r)
[x,y,z] = sphere
x = r*x
y = r*y
z = r*z
ball=mesh(x,y,z)
ball.FaceAlpha = 0.1
hold on
end
  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MaolinYe(叶茂林)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值