前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何用matlab画一个透明的同心球

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

作者头像
叶茂林
发布2023-07-30 09:49:58
3110
发布2023-07-30 09:49:58
举报

先看看球

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

长这个样子。

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

再转一下:

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

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

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代码

代码语言:javascript
复制
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
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-04-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 先看看球
  • figure
  • sphere
  • mesh
  • hold on
  • FaceAlpha
  • matlab代码
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档