Matlab绘图基础——一些标准三维曲面

 

标准三维曲面
t=0:pi/20:2*pi;
[x,y,z]= cylinder(2+sin(t),30);
    %[x,y,z]= cylinder(R,n),其中R为圆周半径,n为组成圆周的点数。
    %[x,y,z]= cylinder(2,30);  %这是一个标准圆柱面
subplot(2,2,1);
surf(x,y,z);  %这是一个瓶子形状图片
 
[x,y,z]=sphere(20);  %括号内的参数越大,图形越精细
subplot(2,2,2);
surf(x,y,z);  %球面
 
[x,y,z]=peaks(30);
subplot(2,1,2);
surf(x,y,z);  %matlab标准内置图像,经常使用
 
应用示例:
利用cylinder函数绘制一个球面
zz=-5:0.25:5;
r=sqrt(25-zz.^2);
[x,y,z]= cylinder(r,30);
subplot(2,2,1);
surf(x,y,z); 

看上去似乎并没有什么问题,但是当我把它旋转一下
会看到它的上下底面都是尖的
 
%%对比用sphere生成的球面
[x,y,z]=sphere(20);  %括号内的参数越大,图形越精细
surf(x,y,z);  %球面

将其旋转一下:
看来它的光滑性还是不错的。
这是为什么呢?让我看一下两次生成球面是所用到的Z值
这个是sphere函数生成的:
这个是cylinder生成的
结论:cylinder生成的是柱面,所以Z轴取值的等间隔的,所以在极点处就会发生突变
            而sphere生成的是单位球面,Z轴取值比较特殊,不是等间隔的,所以它生成的球面比较光滑。

 

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

posted @ 2018-03-21 15:14  司徒鲜生  阅读(3468)  评论(0编辑  收藏  举报