文章目录

  • patch原理
    • patch函数
    • 实例
      • 定义顶点
      • 连接顺序
      • 顶点对应点坐标
      • 最终代码
      • 效果

patch原理

patch函数

  1. patch(X,Y,C)
    

      使用 X 和 Y 的元素作为每个顶点的坐标,以创建一个或多个填充多边形。patch 以您指定顶点的顺序连接这些顶点。要创建一个多边形,请将 X 和 Y 指定为向量。要创建多个多边形,请将 X 和 Y 指定为矩阵,其中每一列对应于一个多边形。C 决定多边形的颜色。

  2. patch(X,Y,Z,C)
    

      使用 X、Y 和 Z 在三维坐标中创建多边形。要在三维视图中查看这些多边形,请使用 view(3) 命令。C 确定多边形的颜色。

  3. patch('XData',X,'YData',Y)
    

      类似于 patch(X,Y,C),不同之处在于您不需要为二维坐标指定颜色数据。

  4. patch('XData',X,'YData',Y,'ZData',Z)
    

      类似于 patch(X,Y,Z,C),不同的是不需要为三维坐标指定颜色数据。

  5. patch('Faces',F,'Vertices',V)
    

      创建一个或多个多边形,其中 V 指定顶点的值,F 定义要连接的顶点。当有多个多边形时,仅指定唯一顶点及其连接矩阵可以减小数据大小。为 V 中的每个行指定一个顶点。要创建一个多边形,请将 F 指定为向量。要创建多个多边形,请将 F 指定为矩阵,其中一行对应于一个多边形。不要求每个面都具有相同的顶点数。要指定不同数量的顶点,请以 NaN 值填充 F。

  6. patch(S)
    

      使用结构体 S 创建一个或多个多边形。结构体字段对应于补片属性名称,字段值对应于属性值。例如,S 可以包含字段 Faces 和 Vertices。

  7. patch(___,Name,Value)
    

      创建多边形,并使用名称-值对组参数指定一个或多个补片属性。补片是包含所有已创建多边形的数据的对象。您可以使用上述语法中的任意输入参数组合指定补片属性。例如,‘LineWidth’,2 将所有多边形的轮廓宽度设置为 2 磅。

  8. patch(ax,___)
    

      将在由 ax 指定的坐标区中,而不是当前坐标区 (gca) 中创建补片。选项 ax 可以位于前面的语法中的任何输入参数组合之前。

  9. p = patch(___)
    

      返回包含所有多边形的数据的补片对象。使用 p 可在创建补片对象后查询并修改其属性。有关属性和说明的列表,请参阅 Patch 属性。

实例

  在此使用 patch(‘Faces’,F,‘Vertices’,V) 函数绘制长方体。

定义顶点

  长方体的顶点定义如下图所示,红色编号为顶点的编号。

连接顺序

定义连接顺序如下,对应上图看

faces = [1 2 3 45 6 7 84 3 6 53 2 7 62 1 8 71 4 5 8];

连接顺序为:

  1. 上面1->2->3->4顶点
  2. 下面->5->6->7->8顶点
  3. 后面->4->3->6->5顶点
  4. 右面->3->2->7->6顶点
  5. 前面->2->1->8->7顶点
  6. 左面->1->4->5->8顶点

顶点对应点坐标

各顶点坐标如下,其中x表示按照图中顶点ID排序的情况下,各顶点的x坐标,同理可得y,z坐标向量,其中SL为尺度,即长宽高。

x = 0.5*SL(1)*[-1 1 1 -1 -1 1 1 -1]';
y = 0.5*SL(2)*[1 1 1 1 -1 -1 -1 -1]';
z = 0.5*SL(3)*[-1 -1 1 1 1 1 -1 -1]';
verts = zeros(3,8);
for i = 1:8verts(1:3,i) = [x(i);y(i);z(i)];
end

最终代码

SL = [1;1;1];
x = 0.5*SL(1)*[-1 1 1 -1 -1 1 1 -1]';
y = 0.5*SL(2)*[1 1 1 1 -1 -1 -1 -1]';
z = 0.5*SL(3)*[-1 -1 1 1 1 1 -1 -1]';verts = zeros(3,8);
for i = 1:8verts(1:3,i) = [x(i);y(i);z(i)];
endfaces = [1 2 3 45 6 7 84 3 6 53 2 7 62 1 8 71 4 5 8];
patch('Faces',faces,'Vertices',verts','FaceAlpha',0.1)
view(3)

效果

呈现的效果如下:

  长方体的顶点定义如下图所示,红色编号为顶点的编号。

  如果想要旋转和移动,请移步博客:MATLAB——patch绘制长方体(cuboid)+长方体平移+长方体旋转

MATLAB——patch绘制多边形相关推荐

  1. matlab 图形绘制,MatLab图形绘制功能

    MatLab图形绘制功能 MatLab % 0到10的1000个点的x座标 y=sin(x); % 对应的y座标 plot(x,y); % 绘图 Y=sin(10*x); plot(x,y, r: , ...

  2. html 根据坐标画多边形,28种css3绘制多边形代码分享

    本文分享了28种CSS3绘制多边形的代码.在做网页项目中需要使用多边形扇形图形来完成一些功能,第一印象就是使用CSS3来完成.经过查资料发现了transform 的skew()正好合适且且使用方便. ...

  3. R语言ggplot2可视化可视化聚类图、使用geom_encircle函数绘制多边形标定属于同一聚类簇的数据点、并自定义每个聚类簇数据点的颜色、多边形框的颜色(Cluster Plot)、主副标题题注

    R语言ggplot2可视化可视化聚类图.使用geom_encircle函数绘制多边形标定属于同一聚类簇的数据点.并自定义每个聚类簇数据点的颜色.多边形框的颜色(Cluster Plot).主副标题题注 ...

  4. R语言polygon函数绘制多边形实战

    R语言polygon函数绘制多边形实战 目录 R语言polygon函数绘制多边形实战 #基本语法 #基础多边形绘制

  5. matlab中如何求零极点,Matlab中绘制零极点

    <Matlab中绘制零极点>由会员分享,可在线阅读,更多相关<Matlab中绘制零极点(2页珍藏版)>请在人人文库网上搜索. 1.ZPLANE Z-plane zero-pol ...

  6. matlab图形绘制经典案例,MATLAB经典教程第四章_图形绘制.ppt

    <MATLAB经典教程第四章_图形绘制.ppt>由会员分享,可在线阅读,更多相关<MATLAB经典教程第四章_图形绘制.ppt(32页珍藏版)>请在人人文库网上搜索. 1.Ma ...

  7. 【新星计划】MATLAB plot绘制图像

    在MATLAB中绘制函数图形的步骤如下: 先定义变量 x,通过指定的变量 x 值的范围,该函数被绘制: 然后定义函数, y = f(x): 最后调用 plot 命令,如 plot(x, y). 接下来 ...

  8. python绘制如下图形、小三角形边长20_在编程中发现数学之美——使用Python小龟绘制多边形...

    在使用数学知识画出很酷的各种图形之前,你需要先学习Python编程语言的基础知识.本文将会带你熟悉以下编程概念:循环.变量.函数.使用小龟模块绘制图像.本文假设你已经安装了Python,如果没有,欢迎 ...

  9. Matlab:绘制简单能量的接收机工作特性曲线(Energy_detection_simulation_ok)

    Matlab:绘制简单能量的接收机工作特性曲线(Energy_detection_simulation_ok) 目录 输出结果 实现代码 输出结果 实现代码 % This code is to plo ...

最新文章

  1. [MOSS开发]:WSS v3授权
  2. dede php 循环,织梦怎么循环调用多级子栏目如二级栏目下三级栏目
  3. 2019阿里应届内推编程题
  4. 工业炉温度计算机控制系统,热处理工业炉计算机控制系统组态王+PLC)
  5. centos6.8安装docker,kong-dashboard并实现页面访问
  6. 有趣的灵魂百里挑一,Linux同学你低下头干嘛,起来说下这个问题。
  7. mysql数据库(4): 创建并选择数据库
  8. pycharm可视化数据库
  9. 线性表—线性表的合并
  10. Latex beamer 学习总结
  11. 考拉Android统一弹框
  12. cisco dce dte
  13. DELMIA软件:机器人固定点焊仿真
  14. UEFI开发与调试---ImageHandle和ControllerHandle
  15. pr基础操作与快捷键(基于pr cc 2017)
  16. MAC打开outlook提示”正在修复 Main Profile“
  17. 南方电网两栖机器人_南方电网首个作业级水下机器人落户海南 为海底电缆“护驾”...
  18. Excel表格成绩排名全攻略,让你事半功倍!
  19. 掌握el-table的formatter方法,提升数据展示效果
  20. 问题小结:解决Ubuntu18.04系统无法连接WIFI

热门文章

  1. bit,Byte,Word,DWORD(DOUBLE WORD,DW)
  2. 在HTML中怎么表示空格
  3. 车规级芯片IC等级及其特点
  4. 将图片内嵌到 exe 文件中
  5. 采访座谈快速出稿利器——讯飞智能录音笔SR502
  6. Linux中关于一个文件的详细信息
  7. iOS 仿钉钉文字水印
  8. css 文字超出三行展示省略号
  9. 从0到1Python数据科学之旅
  10. 虚拟机网卡(NAT模式)设置连接外网