[已答复] 关于matlab三维图绘制

[复制链接]
wangzha 发表于 2022-6-17 21:29:11
本帖最后由 wangzha 于 2022-6-17 21:36 编辑

我想用matlab绘制三维图,但是绘制出来的三维图是一个薄片的样子,有没有办法将图片进行加厚啊?

我的原来的代码是这样的
clc; clear;
m=2;
n=1;
[x,y] = meshgrid(0:0.1:3,0:0.1:3);
z=sin(m*x).*sin(n*y);
B=surf(z);

绘制出来的图是这样的,有没有大神指点一下怎么把他拉伸,将薄片加厚啊

3 条回复


wangzha 发表于 2022-6-17 21:31:54
这是代码画出来的图

这是我上边代码画出来的图

这是我上边代码画出来的图

wangzha 发表于 2022-6-17 21:35:41
本帖最后由 wangzha 于 2022-6-17 21:37 编辑

我现在想了一个办法,令
z1=z-0.05;
z2=z+0.05;
将z1,z2绘制在同一幅图中,填充z1与z2之间的部分,
但是这种不知道咋实现,这种想法不知道对不对。

lyqmath 发表于 2022-6-20 10:36:15


可以考虑直接叠加绘图
更多的可参考
《视觉大数据智能分析算法实战》[刘衍琦等]



例如
  1. m=2;
  2. n=1;
  3. [x,y] = meshgrid(0:0.1:3,0:0.1:3);
  4. z=sin(m*x).*sin(n*y);
  5. figure; hold on; view(3)
  6. for t = -0.5:0.01:0.5
  7. hold on; surf(z+t);
  8. end
  9. shading interp
复制代码
result.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表