【Matlab函数分析】绘图函数:mesh网格曲面图

2024-05-29 09:52

本文主要是介绍【Matlab函数分析】绘图函数:mesh网格曲面图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

🔗 运行环境:Matlab

🚩 撰写作者:左手の明天

🥇 精选专栏:《python》

🔥  推荐专栏:《算法研究》

#### 防伪水印——左手の明天 ####

💗 大家好🤗🤗🤗,我是左手の明天!好久不见💗

💗今天更新系列【Matlab函数分析】——mesh网格曲面图💗

📆  最近更新:2024 年 05 月 29 日,左手の明天的第 334 篇原创博客

📚 更新于专栏:matlab

#### 防伪水印——左手の明天 ####


1、函数语法

  • mesh(X,Y,Z) 

创建一个网格图,该网格图为三维曲面,有实色边颜色,无面颜色。该函数将矩阵 Z 中的值绘制为由 X 和 Y 定义的 x-y 平面中的网格上方的高度。边颜色因 Z 指定的高度而异。

  • mesh(Z) 

创建一个网格图,并将 Z 中元素的列索引和行索引用作 x 坐标和 y 坐标。

  • mesh(Z,C) 

指定边的颜色。

  • mesh(ax,___)

 将图形绘制到 ax 指定的坐标区中,而不是当前坐标区中。指定坐标区作为第一个输入参量。

  • mesh(___,Name,Value) 

使用一个或多个名称-值对组参量指定曲面属性。例如,'FaceAlpha',0.5 创建半透明网格图。

2、输入参数

X — x 坐标

x 坐标,指定为大小与 Z 相同的矩阵或长度为 n 的向量,其中 [m,n] = size(Z)。如果未指定 X 和 Y 的值,mesh 将使用向量 (1:n) 和 (1:m)

示例: X = 1:10

示例: X = [1 2 3; 1 2 3; 1 2 3]

Y — y 坐标

y 坐标,指定为大小与 Z 相同的矩阵或长度为 m 的向量,其中 [m,n] = size(Z)。如果未指定 X 和 Y 的值,mesh 将使用向量 (1:n) 和 (1:m)

示例: Y = 1:10

示例: Y = [1 1 1; 2 2 2; 3 3 3]

Z — z 坐标

z 坐标,指定为矩阵。Z 必须有至少两行两列。

Z 指定每个 x-y 坐标处网格图的高度。如果不指定颜色,则 Z 还用于指定网格边颜色。

示例: Z = [1 2 3; 4 5 6]

示例: Z = sin(x) + cos(y)

C — 颜色数组

颜色数组,指定为由颜色图索引组成的 m×n 矩阵或 RGB 三元组的 m×n×3 数组,其中 Z 为 m×n

  • 要使用颜色图颜色,请将 C 指定为矩阵。对于网格曲面上的每个网格点,C 指示颜色图中的一种颜色。

  • 要使用真彩色,请将 C 指定为 RGB 三元组数组。

名称-值参数

EdgeColor — 边缘线条颜色


[0 0 0] (默认) | 'none' | 'flat' | 'interp' | RGB 三元组 | 十六进制颜色代码 | 'r' | 'g' | 'b' | ...

边线颜色,指定为下面列出的值之一。默认颜色 [0 0 0] 对应于黑边。

RGB 三元组和十六进制颜色代码对于指定自定义颜色非常有用。

  • RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]

  • 十六进制颜色代码是字符向量或字符串标量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是 0 到 F。这些值不区分大小写。因此,颜色代码 "#FF8800" 与 "#ff8800""#F80" 与 "#f80" 是等效的。

LineStyle — 线型
 

"-" (默认) | "--" | ":" | "-." | "none"

线型,指定为下表中列出的选项之一。

线型描述表示的线条
"-"实线

Sample of solid line

"--"虚线

Sample of dashed line

":"点线

Sample of dotted line

"-."点划线

Sample of dash-dotted line, with alternating dashes and dots

"none"无线条无线条

FaceColor — 面颜色
 

'flat' (默认) | 'interp' | 'none' | 'texturemap' | RGB 三元组 | 十六进制颜色代码 | 'r' | 'g' | 'b' | ...

FaceAlpha — 面透明度

1 (默认) | 范围 [0,1] 中的标量 | 'flat' | 'interp' | 'texturemap'

面透明度,指定为下列值之一:

  • 范围 [0,1] 中的标量 - 在所有面上使用统一的透明度。值为 1 时完全不透明,值为 0 时完全透明。介于 0 和 1 之间的值表示半透明。

  • 'flat' - 对每个面使用不同的透明度。第一个顶点的透明度值确定整个面的透明度。

  • 'interp' - 根据 AlphaData 属性中的值,对每个面使用插值透明度。通过基于各顶点处透明度数值进行插值,每个面上的透明度会渐变。

  • 'texturemap' - 变换 AlphaData 中的数据,以便其符合曲面。

FaceLighting — 光源对象对面的影响
 

'flat' (默认) | 'gouraud' | 'none'

光源对象对面的影响,指定为下列值之一:

  • 'flat' - 将光源均匀地应用于每个面上。使用此值可查看分面着色对象。

  • 'gouraud' - 改变各个面的光源。计算顶点处的光照,然后以在各个面中进行光照插值。使用此值可查看曲面。

  • 'none' - 不将来自光源对象的光源应用于各个面。

3、示例

创建网格图

创建三个相同大小的矩阵。然后将它们绘制为一个网格图。该绘图使用 Z 确定高度和颜色。

[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
mesh(X,Y,Z)

为网格图指定颜色图颜色

通过包含第四个矩阵输入 C 来指定网格图的颜色。网格图使用 Z 确定高度,使用 C 确定颜色。使用颜色图指定颜色,该颜色图使用单个数字表示色谱上的颜色。使用颜色图时,C 与 Z 大小相同。向图中添加颜色栏以显示 C 中的数据值如何对应于颜色图中的颜色。

[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
C = X.*Y;
mesh(X,Y,Z,C)
colorbar

为网格图指定真彩色

通过包含第四个矩阵输入 CO 来指定网格图的颜色。网格图使用 Z 确定高度,使用 CO 确定颜色。使用真彩色指定颜色,真彩色使用三个数字(即三元组)表示所有可能的颜色。使用真彩色时,如果 Z 为 m×n,则 CO 为 m×n×3。数组的第一页指示每种颜色的红色分量;第二页指示绿色分量;第三页指示蓝色分量。

[X,Y,Z] = peaks(25);
CO(:,:,1) = zeros(25); % red
CO(:,:,2) = ones(25).*linspace(0.5,0.6,25); % green
CO(:,:,3) = ones(25).*linspace(0,1,25); % blue
mesh(X,Y,Z,CO)

修改网格图外观

指定值为 0.5 的 FaceAlpha 名称-值对组,以创建半透明网格曲面。要允许进一步修改,请将曲面对象赋给变量 s

[X,Y] = meshgrid(-5:.5:5);
Z = Y.*sin(X) - X.*cos(Y);
s = mesh(X,Y,Z,'FaceAlpha','0.5')

s = Surface with properties:EdgeColor: 'flat'LineStyle: '-'FaceColor: [1 1 1]FaceLighting: 'none'FaceAlpha: 0.5000XData: [21x21 double]YData: [21x21 double]ZData: [21x21 double]CData: [21x21 double]Use GET to show all properties

使用 s 可在创建曲面后访问和修改网格图的属性。例如,通过设置 FaceColor 属性,为网格图的面添加颜色。

s.FaceColor = 'flat';

这篇关于【Matlab函数分析】绘图函数:mesh网格曲面图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1013337

相关文章

Python中help()和dir()函数的使用

《Python中help()和dir()函数的使用》我们经常需要查看某个对象(如模块、类、函数等)的属性和方法,Python提供了两个内置函数help()和dir(),它们可以帮助我们快速了解代... 目录1. 引言2. help() 函数2.1 作用2.2 使用方法2.3 示例(1) 查看内置函数的帮助(

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛

github打不开的问题分析及解决

《github打不开的问题分析及解决》:本文主要介绍github打不开的问题分析及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、找到github.com域名解析的ip地址二、找到github.global.ssl.fastly.net网址解析的ip地址三

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

Python中bisect_left 函数实现高效插入与有序列表管理

《Python中bisect_left函数实现高效插入与有序列表管理》Python的bisect_left函数通过二分查找高效定位有序列表插入位置,与bisect_right的区别在于处理重复元素时... 目录一、bisect_left 基本介绍1.1 函数定义1.2 核心功能二、bisect_left 与

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb

java中BigDecimal里面的subtract函数介绍及实现方法

《java中BigDecimal里面的subtract函数介绍及实现方法》在Java中实现减法操作需要根据数据类型选择不同方法,主要分为数值型减法和字符串减法两种场景,本文给大家介绍java中BigD... 目录Java中BigDecimal里面的subtract函数的意思?一、数值型减法(高精度计算)1.

C++/类与对象/默认成员函数@构造函数的用法

《C++/类与对象/默认成员函数@构造函数的用法》:本文主要介绍C++/类与对象/默认成员函数@构造函数的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录名词概念默认成员函数构造函数概念函数特征显示构造函数隐式构造函数总结名词概念默认构造函数:不用传参就可以