热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

matlab中patch函数的用法

http:blog.sina.com.cnsblog_707b64550100z1nz.htmlmatlab中patch函数的用法——emily (2011-11-1817:20:

http://blog.sina.com.cn/s/blog_707b64550100z1nz.html

matlab中patch函数的用法——emily

 matlab中patch函数的用法(2011-11-18 17:20:33)
 

patch

 

创建补片图形对象

 

句法:

patch(X,Y,C)

patch(X,Y,Z,C)

patch(FV)

patch(...'PropertyName',propertyvalue...)

patch('PropertyName',propertyvalue,...)

handle = patch(...)

 

描述:

    patch是个底层的图形函数,用来创建补片图形对象。一个补片对象是由其顶点坐标确定的一个或多个多边形。用户可以指定补片对象的颜色和灯光。

 patch(X,Y,C)

    添加已填充的二维补片到当前坐标轴。X和Y中的元素指定了多边形的定点。如果X和Y是矩阵,MATLAB将每一列生成一个多边形。C决定了补片的颜色,它可以是单个的ColorSpec,每个表面一个颜色,或每个定点一个颜色。如果C是1*3的向量,它将被看成是RGB三元组,直接指定颜色。

 patch(X,Y,Z,C)

    创建三维坐标下的补片。

 patch(FV)

    使用结构体FV来创建补片。FV包含如下的结构域:vertices、faces以及facevertexdata(可选)。这些结构域对应补片对象的Vertices、Faces和FaceVerticxCData属性。

 patch(‘PropertyName’,propertyvalue,...)

    利用指定的属性/值参数对来指定补片对象的所有属性。除非用户显式的指定FaceColor和EdgeColor的值,否则,MATLAB会使用缺省的属性值。该调用格式允许用户使用Faces和Vertices属性值来定义补片。

 handle=patch(...)

    返回创建的补片对象的句柄。

 注意:

    不像fill或area这样的高层创建函数,patch并不检查图形窗口的设置以及坐标轴的NextPlot属性,它仅仅将补片对象添加到当前坐标轴。

    如果坐标数据不能定义封闭的多边形,patch函数自动使多边形封闭。数据能定理凹面或交叉的多边形。然而,如果单个补片面的边缘相互交叉,得到的面可能不会完全填充。在这种情况下,最好将面分解为更小的多边形。

 

详细说明patch的属性:

    你可以注明这些属性为:属性名字和属性值成对形式、结构矩阵和细胞矩阵。

    其中有两个属性是用来说明颜色的:

    CData:用在说明X、Y、Z坐标时(XData、YData、ZData)

    FaceVertexCData:用在说明顶点或联接矩阵(Vertices和Faces)

 

    CData和FaceVertexCData属性接受这样的颜色数据:索引值、真彩色(RGB)值。(CData、FaceVertexCData)

   

    索引颜色数据可以表示整个色图的直接索引值或线性映射到整个色图的刻度值(caxis)。CDataMapping 决定了matlab如何翻译索引颜色数据。


matlab中patch函数的用法

 

 

颜色数据说明:

patch的颜色说明如下:

    所有面用同一个颜色;

    一个面一个颜色,即平面着色;

    一个顶点一个颜色,即插值着色;

   

    下面的表格说明了matlab如何解释由CData、FaceVertexCData定义的颜色数据。

 

    [X,Y,Z]                    CData  

                     索引值            真彩色                  

      m*n             标量              1*1*3        所有面用同一个颜色,边缘用同一个颜色

      m*n            1*n(n>=4)        1*n*3        一个面一个颜色,边缘用一个颜色
      m*n              m*n             m*(n-3)     一个顶点一个颜色,面可以是平滑的一个颜色的或插值的,边缘也可以是平滑的或插值的。

     

顶点         面             FaceVertexCData

                             索引值          真彩色

     m*n          k*3         标量            1*3

     m*n          k*3          k*1            k*3               同上

     m*n          k*3          m*1            m*3

 

 

举例:

    该例中使用两种不同的方法来创建一个补片对象:

    指定x、y和z坐标以及颜色数据(XData、YData和ZData以及CData属性)

    指定顶点,连接矩阵以及颜色矩阵(Vertices、Faces、FaceVertexCData以及FaceColor属性)

 

    1、指定x、y和z坐标

    x=[0 0;0 1;1 1];

    y=[1 1;2 2;2 1];

    z=[1 1;1 1;1 1];

    tcolor(1,1,1:3)=[1 1 1];

    tcolor(1,2,1:3)=[.7 .7 .7];

    patch(x,y,z,tcolor)

matlab中patch函数的用法

 


    注意每个面和其他面之间共用两个顶点。

 

    2、指定定点和表面

    Vertices属性包含定义补片的每一个定点的坐标Faces属性确定如何连接这些顶点来组成不判的每一个表面。在本例中,两个顶点位于同一个位置,因此需要指定六个顶点。每一样包含定点的x、y和z坐标。
    vert=[0 1 1;0 2 1;1 2 1;1 1 1];

    有两个表面,按照指定的顺序连接定点而成:

    fac=[1 2 3;1 3 4];

    指定表面的颜色,指定包含两个RGB颜色的2*3的矩阵;

    tcolor=[1 1 1;.7 .7 .7];

    用户必须设置FaceColor属性为flat,通过指定Faces、Vertices、FaceVertexCData以及FaceColor属性来创建

    补片对象:

    patch('Faces',fac,'Vertices',vert,'FaceVertexCData',tcolor,'FaceColor','flat')

    结果如上图所示。

matlab中patch函数的用法

 



。。。。。。


推荐阅读
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文介绍如何在 Android 中通过代码模拟用户的点击和滑动操作,包括参数说明、事件生成及处理逻辑。详细解析了视图(View)对象、坐标偏移量以及不同类型的滑动方式。 ... [详细]
  • 2023 ARM嵌入式系统全国技术巡讲旨在分享ARM公司在半导体知识产权(IP)领域的最新进展。作为全球领先的IP提供商,ARM在嵌入式处理器市场占据主导地位,其产品广泛应用于90%以上的嵌入式设备中。此次巡讲将邀请来自ARM、飞思卡尔以及华清远见教育集团的行业专家,共同探讨当前嵌入式系统的前沿技术和应用。 ... [详细]
  • QBlog开源博客系统:Page_Load生命周期与参数传递优化(第四部分)
    本教程将深入探讨QBlog开源博客系统的Page_Load生命周期,并介绍一种简洁的参数传递重构方法。通过视频演示和详细讲解,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细介绍了如何解决Uploadify插件在Internet Explorer(IE)9和10版本中遇到的点击失效及JQuery运行时错误问题。通过修改相关JavaScript代码,确保上传功能在不同浏览器环境中的一致性和稳定性。 ... [详细]
  • 本文介绍了如何利用JavaScript或jQuery来判断网页中的文本框是否处于焦点状态,以及如何检测鼠标是否悬停在指定的HTML元素上。 ... [详细]
  • 探讨如何高效使用FastJSON进行JSON数据解析,特别是从复杂嵌套结构中提取特定字段值的方法。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • HTTP 请求与响应详解
    本文深入探讨了HTTP请求和响应的结构,详细解释了每个部分的作用,并提供了相关示例。通过本文,读者可以全面理解HTTP协议中请求和响应的工作原理。 ... [详细]
  • 在Ubuntu 16.04 LTS上配置Qt Creator开发环境
    本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ... [详细]
  • 尽管某些细分市场如WAN优化表现不佳,但全球运营商路由器和交换机市场持续增长。根据最新研究,该市场预计在2023年达到202亿美元的规模。 ... [详细]
author-avatar
ciaos
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有