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;”>
版权声明:本文为stxs原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。