当前位置: 首页 > news >正文

matlab使用教程(8)—绘制三维曲面图

1网格图和曲面图

        MATLAB 在 x-y 平面中的网格上方使用点的 z 坐标来定义曲面图,并使用直线连接相邻的点。meshsurf 函数以三维形式显示曲面图。
        • mesh 生成仅使用颜色来标记连接定义点的线条的线框曲面图。
        • surf 使用颜色显示曲面图的连接线和面。
        MATLAB 通过将索引的 z 数据值映射到图窗颜色图来标记曲面图颜色。
        例如,想要要显示包含两个变量的函数 z = f (x,y),步骤如下:
        1 在此函数的域中,生成分别由重复行和重复列组成的 X Y 矩阵。
        2 使用 X Y 计算此函数并绘制其图形。
        meshgrid 函数将一个向量或两个向量(即 x y )指定的域转换为矩阵 X Y,以便用于计算包含两个变量的函数。 X 的行是向量 x 的副本, Y 的列是向量 y 的副本。

1.1普通网格图

        此示例说明如何计算和绘制 x 和 y 方向之间的二维 sinc 函数 sin(R)/R。R 是距原点的距离,原点在矩阵的中心。添加 eps(非常小的值)可防止网格图在 R = 0 处的点出现孔洞。
[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
mesh(X,Y,Z)

        默认情况下,MATLAB® 使用当前颜色图来标记网格图颜色。

1.2彩色曲面图

        此示例说明如何将 sinc 函数绘制为曲面图,指定颜色图并添加颜色栏以便显示数据与颜色的映射。曲面图与网格图相似,但曲面图的矩形面是彩色的。各个面的颜色由 Z 的值及颜色图(即颜色的有序列表)决定。
[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
surf(X,Y,Z)
colormap hsv
colorbar

1.3将曲面图设置为透明

        此示例展示如何将曲面图的面设置为不同透明度。透明度(称为 alpha 值)可以针对整个对象进行指定,也可以基于 alphamap (其作用方式与颜色图类似)进行指定。
[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
surf(X,Y,Z)
colormap hsv
alpha(.4)

        MATLAB® 显示一个面 alpha 值为 0.4 的曲面。Alpha 值的范围介于 0(完全透明)和 1(不透明)之间。

1.4使用灯光照亮曲面图

        本示例展示的曲面图与前面示例所用的曲面图相同,但将其设置为红色,并删除了网格线。然后会在“相机”(相机即为您观察曲面图所处的空间位置)左侧添加一个灯光对象:
[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
surf(X,Y,Z,'FaceColor','red','EdgeColor','none')
camlight left;
lighting phong

        光照是使用定向光源照亮对象的技术。在特定情况下,此技术能够更清楚地显示曲面图形状的细微差异。光照还可用于增添三维图形的真实感。

1.5拖动曲面图

        图窗工具栏和相机工具栏提供了以交互方式浏览三维图形的方法。下图显示选择了 三维旋转 工具的两个工具栏。

 

2显示图像

2.1图像数据

        您可以将二维数值数组显示为图像。在图像中,数组元素决定了图像的亮度或颜色。例如,加载一个图像数组及其颜色图:
load durer
whos
Name Size Bytes Class
X 648x509 2638656 double array
caption 2x28 112 char array
map 128x3 3072 double array
        加载文件 durer.mat ,向工作区添加三个变量。数组 X 是一个 648×509 矩阵, map 是作为此图像的颜 色图的 128×3 数组。
MAT 文件(例如 durer.mat)是用于提供保存 MATLAB 变量的方法的二进制文件。 X 的元素是介于 1 和 128 之间的整数,用作颜色图 map 的索引。要显示图像,请使用 imshow 函数:
imshow(X,map)
        重新生成阿尔布雷特•丢勒的蚀刻板画。

 

2.2读取和写入图像

        使用 imread 函数可以读取标准图像文件(TIFF、JPEG、PNG 等)。 imread 返回的数据类型取决于读取的图像类型。
        使用 imwrite 函数可以将 MATLAB 数据写入到各种标准图像格式。

相关文章:

matlab使用教程(8)—绘制三维曲面图

1网格图和曲面图 MATLAB 在 x-y 平面中的网格上方使用点的 z 坐标来定义曲面图,并使用直线连接相邻的点。mesh 和surf 函数以三维形式显示曲面图。 • mesh 生成仅使用颜色来标记连接定义点的线条的线框曲面图。 • surf 使用颜色显示曲面图的连接线和面。 MATL…...

【Nginx14】Nginx学习:HTTP核心模块(十一)其它配置

Nginx学习:HTTP核心模块(十一)其它配置 剩下的一些配置指令没有大的归属,不过也有一些是比较常见的,这部分内容学习完成之后,整个 http 模块相关的核心基础配置指令就全部学习完成了。今晚可以举杯庆祝一下…...

243. 一个简单的整数问题2(树状数组)

输入样例: 10 5 1 2 3 4 5 6 7 8 9 10 Q 4 4 Q 1 10 Q 2 4 C 3 6 3 Q 2 4输出样例: 4 55 9 15 解析: 一般树状数组都是单点修改、区间查询或者单点查询、区间修改。这道题都是区间操作。 1. 区间修改用数组数组维护差分数组 2. 区间查询&am…...

C#利用自定义特性以及反射,来提大型项目的开发的效率

在大型项目的开发过程中,需要多人协同工作,来加速项目完成进度。 比如一个软件有100个form,分给100个人来写,每个人完成自己的Form.cs的编写之后,要在Mainform调用自己写的Form。 如果按照正常的Form form1 new For…...

【传统视觉】C#创建、封装、调用类库

任务 因为实现代码相对简单,然后又没有使用Opencv,所以就直接用C#实现,C#调用。 1.创建类库 1.1新建一个类库 vs2015 > 文件 > 新建 > 项目 using System; using System.Collections.Generic; using System.Linq;namespace Yo…...

AutoMapper反向映射

#region 用来验证反向映射public class MemberSource{public string Name { get; set; }public MemberInnerSource MemberInnerSource { get; set; }public MemberOtherInnerSource MemberOtherInnerSource { get; set; }}public class MemberInnerSource{public string Name {…...

华为Mate30报名鸿蒙 HarmonyOS 4.0.0.108 系统更新

华为 Mate 30 系列于 2019 年 11 月 1 日上市,包括 Mate 30 4G / 5G、Mate 30 Pro 4G / 5G、保时捷设计版 Mate30 共五款机型。华为 Mate 30 系列 5G 版搭载麒麟 990 5G 处理器,同时支持 SA 及 NSA 5G 双模,适配三大运营商的 5G / 4G / 3G / …...

elementui Cascader 级联选择使用心得

相信大家对于elementui并不陌生,作为适配Vue的优秀UI框架之一,一直被所有的开发者痛并快乐着。今天要记录的就是里边的主角之一Cascader。 首先先介绍一下Cascader ---> 当一个数据集合有清晰的层级结构时,可通过级联选择器逐级查看并选择…...

【ChatGPT 指令大全】怎么利用ChatGPT写报告

目录 选定切入角度 报告开头 大纲生成 草稿撰写 研究报告 提出反对观点 报告总结 研究来源 总结 随着人工智能技术的快速发展,自然语言处理技术在各个领域的应用越来越广泛。其中,ChatGPT作为目前最先进的自然语言处理模型之一,其强…...

【枚举,构造】CF1582 C D

Problem - C - Codeforces 题意: 思路: 思路很简单,只删除一种,直接枚举删除的是哪一种即可 但是回文子序列的判定我vp的时候写的很答辩,也不知道为什么当时要从中间往两边扫,纯纯自找麻烦 然后就越改越…...

POJ 3169 Layout BellmanFord Dijkstra

一、心路历程 这一个题目写了三天,可以说是非常挣扎了,明明是例题,但是就是倔强着不去看书上的题解,WA了7次,TLE了4次。 写了不知道多少条测试用例,一遍一遍的过,一点一点的调试。 最后终于找到…...

数据库管理员知识图谱

初入职场的程序猿,需要为自己做好职业规划,在职场的赛道上,需要保持学习,并不断点亮自己的技能树。  成为一名DBA需要掌握什么技能呢,先让Chat-GPT为我们回答一下: 数据库管理系统 (DBMS)知识&#xff…...

中兴服务器支持百度“文心一言”,助力AI产业发展

前段时间,中兴和百度正式对外宣布中兴服务器将会支持百度“文心一言”,为其提供更加强劲的算力支撑,从而加速“文心一言”的完事升级与更新迭代,助力AI产业化应用和生态的繁荣发展。   “文心一言”是百度基于文心大模型技术推出…...

STM 如何通过网络 time.windows.com获取时间

STM 如何通过网络 time.windows.com获取时间 在STM32中,你可以使用STM32Cube HAL库提供的网络套接字API来通过网络获取时间。以下是一个示例代码,演示如何通过time.windows.com获取时间: #include "stm32xxxx.h" #include "lwip/sockets.h" #include …...

数据结构——红黑树

文章目录 一.红黑树的定义二.红黑树的插入1.红黑树节点的定义2.红黑树的插入操作3.总结: 三.红黑树与AVL树的比较四.检验手写的红黑树五.源码 一.红黑树的定义 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色&#xff…...

【C++】数据结构与算法:常用排序算法

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍常用排序算法。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路&#x1…...

【C++】Bullet3代码存档

之前试了一下Bullet3物理引擎,但在linux上编译失败,于是放弃了。令我不满的还有另外一个原因,下载的发行包竟然有500M。C的Bullet3代码根本用不了,大部分教程实际都是用的老版本。而且此项目还整了python版本,各种蹭人…...

弘扬“两弹一星”精神,勇攀科学技术高峰——道本科技商业大学党日活动圆满落幕

2023年8月2日,道本科技与商业大学携手举办了一场主题为“弘扬‘两弹一星’精神,勇攀科学技术高峰”的党日活动。本次活动旨在了解党领导下的中国核工业发展历程,传承和弘扬“两弹一星”精神,同时展示道本科技创新产品,…...

Java中创建对象的几种方式

背景 面试的时候有些面试官喜欢问这些, 这里简单记录一下. 常见方式 方式1: new XXXX(); 使用new关键字:这是最常见的创建对象的方式,使用new关键字后面跟上类名和参数列表(如果有),可以调用类的构造方法来创建对象…...

Python(三)

诚信像一面镜子,一旦打破,你的人格就会出现裂痕。 存在短路的情景 谢谢观看 Python(三)...

GitHub本周热门项目(2026-05-18)

GitHub 本周热门项目推荐 更新时间:2026-05-18 数据来源:GitHub Trending 🔥 TOP 10 热门项目 1. mattpocock/skills 一句话描述:面向真实工程师的技能框架,提供Claude Code等AI编码工具的专业技能扩展。 项目信息详…...

Multi-head Self-Attention Machanism

3. 多头自注意力机制(Multi-head Self-Attention Machanism) 多头注意力机制是在自注意力机制的基础上发展起来的,是自注意力机制的变体,旨在增强模型的表达能力和泛化能力。它通过使用多个独立的注意力头,分别计算注…...

NotebookLM具身智能落地实战(从零部署到ROS2集成):谷歌AI团队内部培训手册泄露版

更多请点击: https://intelliparadigm.com 第一章:NotebookLM具身智能研究 NotebookLM 是 Google 推出的基于用户自有文档进行语义理解与推理的 AI 助手,其核心能力在于“文档感知”(document-grounded reasoning)。当…...

Cursor Pro终极破解教程:三步免费解锁AI编程助手完整指南

Cursor Pro终极破解教程:三步免费解锁AI编程助手完整指南 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your …...

别再为OpenMV串口传图卡顿发愁了!手把手教你选对硬件(STM32 SWD vs TTL)并优化代码

OpenMV串口传图性能优化实战:从硬件选型到代码调优 当你在实验室调试OpenMV串口传图项目时,是否经历过这样的场景:图像传输像老式拨号上网一样缓慢,帧率低得让人怀疑人生,调试界面卡成PPT?这背后往往隐藏着…...

手把手教你用GDB/LLDB调试器观察寄存器状态(附实战案例)

深入掌握GDB/LLDB寄存器调试:从原理到实战 在软件开发的世界里,调试器就像外科医生的手术刀,而寄存器则是CPU的脉搏。当你面对一个段错误(Segmentation Fault)或者难以捉摸的内存越界问题时,能够直接观察CP…...

BLE扫描器开发实战:从原始字节解析到IN100设备高效调试

1. 项目概述:从芯片到应用,一个BLE扫描器的诞生去年五月,我们团队独立开发的NanoBeacon™ BLE扫描器移动应用在应用宝正式上架了。这件事本身可能不算惊天动地,但对我们这些从底层芯片一路摸爬滚打上来的工程师来说,意…...

Godot引擎集成Box2D物理插件:提升2D游戏物理模拟精度与稳定性

1. 项目概述:当Godot遇上Box2D如果你是一个用过Godot引擎,特别是做过2D物理游戏的开发者,大概率对它的默认物理引擎有过又爱又恨的复杂感情。Godot内置的物理引擎在处理一些简单碰撞、刚体运动时非常方便,但一旦项目需求变得复杂—…...

3个技巧让窗口管理更智能:如何用开源工具提升专注力?

3个技巧让窗口管理更智能:如何用开源工具提升专注力? 【免费下载链接】AlwaysOnTop Make a Windows application always run on top 项目地址: https://gitcode.com/gh_mirrors/al/AlwaysOnTop 想象一下这样的工作场景:你正在编写代码…...

‌古星图导航测试:波利尼西亚航海术的AI复现‌

跨越千年的航海智慧与现代测试的碰撞在科技高度发达的今天,GPS、北斗等卫星导航系统已成为我们出行、航海、航空等领域不可或缺的工具。然而,在数千年前,太平洋上的波利尼西亚人却凭借着对星空的深刻理解和独特的航海技术,在广袤无…...