MATLAB学习笔记(四)——三维绘图

三维曲线

  1. plot3函数 plot3(x,y,z)

  2. 变化形式:

    1. x\y\z是同型矩阵时 曲线条数等于矩阵列数
    2. x y z 中有向量、也有矩阵 行(列)向量的长度与矩阵列(行)数相同
  3. 含多组输入参数的plot3函数

    plot3(x1,y1,z1,x2,y2,z2,···,xn,yn,zn)

  4. 含选项的plot3函数

    plot3(x,y,z,选项)

  5. fplot3函数

    fplot3(funx,funy,funz,tlims)

    tlims为函数自变量的范围 默认 [-5,5]

    >> xt=@(t)exp(-t/10).*sin(5*t);
    >> yt=@(t)exp(-t/10).*cos(5*t);
    >> zt=@(t)t;
    >> fplot(xt,yt,zt,[-12,12])
    >> fplot3(xt,yt,zt,[-12,12])
    >> title('墨西哥帽顶曲线')
    

    在这里插入图片描述

三维曲面

平面网格数据的生成

  1. 利用矩阵运算生成

    >> x=2:6;
    >> y=(3:8)';
    >> X=ones(size(y))*x;
    >> Y=y*ones(size(x));
    
  2. 利用meshgrid函数生成

    >>x=2:6;
    >>y=(3:8)';
    >>[X,Y]=meshgrid(x,y);
    
    >> x=2:6;
    >> y=(3:8)';
    >> [X,Y]=meshgrid(x,y);
    >> Z=randn(size(X));
    >> plot3(X,Y,Z);
    >> grid on
    

在这里插入图片描述

绘制三维曲面的函数

  1. mesh(x,y,z,c)

    x y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的曲面颜色

  2. surf(x,y,z,c)

    >> t=-2:0.2:2;
    >> [X,Y]=meshgrid(t);
    >> Z=X.*exp(-X.^2-Y.^2);
    >> subplot(1,3,1)
    >> mesh(X,Y,Z);
    >> subplot(1,3,2)
    >> surf(X,Y,Z);
    >> subplot(1,3,3)
    >> plot3(X,Y,Z);
    >> grid on
    

在这里插入图片描述

mesh函数和surf函数的其他调用格式:

mesh(z,c)

surf(z,c)

当x、y省略时,z矩阵的第二维下标当作x轴坐标,z矩阵的第一维下标当作y轴坐标

  1. 带等高线的三维网格曲面函数 meshc

  2. 带底座的三维网格曲面函数meshz

  3. 具有等高线的曲面函数surfc

  4. 具有光照效果的曲面函数surfl

标准单位曲面

  1. sphere函数

    [x,y,z]=sphere(n) 球面 n圆滑程度

  2. cylinder函数

    [x,y,z]=cylinder(R,n)

  3. peaks函数

    生成绘图数据矩阵

在这里插入图片描述

  1. fsurf函数和fmesh函数 有两个自变量

    fsurf(funx,funy,funz,uvlims)

    fmesh(funx,funy,funz,uvlims)

    uvlims 4元向量

图形修饰处理

视点处理

  1. 方位角ae在这里插入图片描述

  2. 仰角el

  3. view(az,el) 以度为单位

  4. 其他用法

    view(x,y,z)

    view(2) view(3)

色彩处理

  1. 颜色向量表示 [R G B]

  2. 色图

    1. 色图矩阵

    2. 内建色图64*3 默认

      • 指定当前图形使用的色图

        colormap cmapname

        colormap(cmap)

        在这里插入图片描述

    3. 三维图形表面的着色

      shading faceted 将每一个网格片用其高度对应的颜色进行着色,网格线是黑色

      shading flat 将每个网格片用同一个颜色进行着色,且网格线也用相应的颜色

      shading interp 在网格片内采用颜色插值处理

图形的裁剪处理

需要裁剪的部分数值设置为NaN

%绘制3/4圆
>> t=linspace(0,2*pi,100);
>> x=sin(t);
>> y=cos(t);
>> p=y>0.5;
>> y(p)=NaN;
>> plot(x,y)
>> axis([-1.1,1.1,-1.1,1.1])
>> axis square
>> grid on

交互式绘图工具

“绘图”选项卡

绘图工具

plottools 打开绘图工具

  1. 图形选项板
  2. 绘图浏览器
  3. 属性编辑器

图形窗口菜单和工具栏

  • 14
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值