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;">

如果你觉得文章写得还不错,欢迎打赏、关注、收藏本站。
对于文章内容,博主尽量做到真实可靠,并对所引用的内容附上原始链接。但也会出错,如有问题,欢迎留言交流~
若标题前没有“[转]”标记,则代表该文章为本人(司徒鲜生)所著,转载及引用请注明出处,谢谢合作!
本站首页:http://www.cnblogs.com/stxs/
最新博客见CSDN:https://blog.csdn.net/qq_45887327
原文地址:https://www.cnblogs.com/stxs/p/8617187.html