三维旋转体的绘制

[复制链接]
2189|4
 楼主| gaoyang9992006 发表于 2016-1-20 11:00 | 显示全部楼层 |阅读模式

三维旋转体的绘制

为了一些专业用户可以更方便地绘制出三维旋转体,MATLAB专门提供了2个函数:柱面函数cylinder和球面函数sphere

(1)   柱面图

柱面图绘制由函数cylinder实现.

[X,Y,Z]=cylinder(R,N)  此函数以母线向量R生成单位柱面.母线向量R是在单位高度里等分刻度上定义的半径向量.N为旋转圆周上的分格线的条数.可以用surf(X,Y,Z)来表示此柱面.

[X,Y,Z]=cylinder(R)或[X,Y,Z]=cylinder此形式为默认N=20且R=[1 1]


例.柱面函数演示举例

x=0:pi/20:pi*3;

r=5+cos(x);

[a,b,c]=cylinder(r,30);

mesh(a,b,c)





例.旋转柱面图.

r=abs(exp(-0.25*t).*sin(t));

t=0:pi/12:3*pi;

r=abs(exp(-0.25*t).*sin(t));

[X,Y,Z]=cylinder(r,30);

mesh(X,Y,Z)

colormap([1 0 0])



(2).球面图

球面图绘制由函数sphere来实现

[X,Y,Z]=sphere(N)             此函数生成3个(N+1)*(N+1)的矩阵,利用函数        surf(X,Y,Z) 可产生单位球面.

[X,Y,Z]=sphere         此形式使用了默认值N=20.

Sphere(N)             只是绘制了球面图而不返回任何值.

例.绘制地球表面的气温分布示意图.

[a,b,c]=sphere(40);

t=abs(c);

surf(a,b,c,t);

axis('equal')   %此两句控制坐标轴的大小相同.

axis('square')

colormap('hot')


ternenceliu 发表于 2016-3-30 17:13 | 显示全部楼层
 楼主| gaoyang9992006 发表于 2016-3-31 10:31 | 显示全部楼层
学习好MATLAB特别对学习数学有帮助。
 楼主| gaoyang9992006 发表于 2016-3-31 10:32 | 显示全部楼层
我觉得,中学老师必须学会这个,然后可以轻松的给学生进行形象化的图形绘制。
zdhkm 发表于 2020-11-1 14:13 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:如果你觉得我的分享或者答复还可以,请给我点赞,谢谢。

2057

主题

16426

帖子

222

粉丝
快速回复 在线客服 返回列表 返回顶部