数学建模学习笔记(18):三维图形的绘制

news2024/11/18 6:34:27

三维图形的绘制

    • 生成绘图所需的横纵坐标
    • 三维网格图的绘制
      • 基本语法
      • 实战案例
      • 两种变形函数
    • 三维曲面图的绘制
      • 两种变形函数
    • 绘图效果的优化
    • 其他补充内容

生成绘图所需的横纵坐标

[X,Y]=meshgrid(xgv,ygv)
% 函数解释:X和Y是用于接收返回值的变量,是两个大小相等的矩阵
% xgv和ygv是分别用于表示x和y取值范围的行向量,如果省略一个则默认x和y取值范围相同。
% 函数原理:X由xgv复制length(ygv)行得到,Y首先ygv进行转置,再将ygv'复制length(xgv)次得到。

三维网格图的绘制

网格图绘制效果:由多个网格拼接构成的图形称为网格图。网格图可以用于二元函数图像的绘制。

在这里插入图片描述

基本语法

1.mesh(X,Y,Z):最基础的使用语法。
% 其中X是n维行向量,Y是m维行向量,Z是m×n的矩阵。
% 函数解释:构造的三维点共有m×n个,每一个三维点的坐标为(X(j),Y(i),Z(i,j))% 理解方式:相当于对X和Y向量中相邻的两个元素(对应四个点)绘制一个三维平面,然后再向后挪一个,对下一对相邻元素绘制一个三位平面,最后把绘制的所有三维平面拼接在一起。
% 函数的绘图结果中线条的颜色反映了点的高度。
2.mesh(Z):最基础使用语法的简化形式。
% 其中Z是一个m×n的矩阵。
% 函数解释:省略了X和Y向量,默认X是从1到Z矩阵列数的等差数列向量,Y是从1到Z矩阵行数的等差数列向量。
3.mesh(X,Y,Z):mesh函数最常用的语法形式。
% 其中X和Y和Z都是m×n的矩阵。
% 第一种形式中X和Y分别是m维和n维行向量,系统会自动将X和Y分别重复扩展为m×n的矩阵,变为第三种形式。
% 函数解释:定义了X、Y和Z三个矩阵后相当于得到了一个由三维点坐标构成的矩阵,对坐标点矩阵中所有行列相邻的四个元素绘制一个平面,拼接在一起就构成了最终的网格图。

实战案例

题目要求:绘制z=x²-y平方的函数图像,其中x和y的取值范围都是[0,10]。

绘制Matlab代码

X=repmat(linspace(0,10,20),20,1)
Y=repmat(linspace(0,10,20)',1,20);
% 此处X和Y的生成过程可以用meshgrid函数代替:[X,Y]=meshgrid(linspace(0,10,20)
Z=X.*X-Y.*Y;
mesh(X,Y,Z)

绘制效果图

在这里插入图片描述

两种变形函数

  • meshc函数:mesh函数的变形,绘制结果带有等高线底线。

在这里插入图片描述

  • meshz函数:mesh函数的变形,增加绘制了曲面的底座。(使用较少)
    在这里插入图片描述

三维曲面图的绘制

曲面图绘制效果

在这里插入图片描述

绘制语法:与进行三维网格图绘制的mesh函数语法完全相同。

两种变形函数

  • surfc函数:surf函数的变形,绘制结果带有等高线底线。
    在这里插入图片描述
  • surfl函数:surf函数的变形,绘制结果带有灯光效果。
    在这里插入图片描述

绘图效果的优化

  • 透明度设置
alpha(透明度)
函数解释:用来设置绘图的透明度,用于优化绘图效果。
透明度:一个0-1之间的浮点数(小数)。
  • 设置坐标轴标签
xlabel("X轴");ylabel("Y轴");zlabel("Z轴");
  • 旋转不改变坐标轴尺度(根据需要选择):
axis vid3d;
% 对于含有subplot的图,需要对每一个图都使用才能保证相同的坐标轴效果。
  • 设置绘图子图(根据需要选择):
subplot(图行数,图列数,图序号)
% 图的序号是在母图中逐行标号的。
  • 设置图像标题
title(标题字符串)
  • 设置色彩模式
% 通过shading可以设置绘图的色彩模式
shading faceted %默认采用的模式
shading flat    %去掉了绘制结果的网格线
shading interp  %在flat的基础上实现了色彩的平滑过渡

在这里插入图片描述

其他补充内容

  • 绘图值出现非数NaN:常常由0/0导致,此时可以在被除数0后加一个Matlab常数eps来避免出现非数。
  • 绘图结果的高清导出:注意需要设置尽可能高的分辨率。
    在这里插入图片描述
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/192172.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python的基础语法

字面量 字面量是在代码中,被写下来的固定的值,称之为字面量 常见的字面量类型 字符串又称为文本是由任意数量的字符如中文、英文、各类符号、数字组成。所以叫做字符串常量。 注释 注释 在程序代码中对程序代码进行解释说明的文字 作用 注释不是程…

Java中XML如何转为BEAN

在网络通讯中&#xff0c;对方传的数据经常是XML格式包装的数据集合。在Java开发中&#xff0c;我们如何将XML转成Java实体类呢&#xff1f; 对方发送的报文 <ns2:response xmlns:ns2"http://service.zxl.cn/test/xml"><school><location>长江边…

Pointnet Tutorial

目录 .1 intro-点云特性 1.1 点云特性 1.2 motivation 1.3 pointnet的处理 .2 Pointnet 2.1 contribution 2.2 solution 2.3 backbone 2.4 代码部分 2.5 小结 .4 应用 References .1 intro-点云特性 Q1&#xff1a;什么是点云&#xff1f; 简单来说就是一堆三维点的集…

【异常】前端提示 Support for the experimental syntax ‘jsx‘ isn‘t currently enabled

一、报错内容 17:33:41 - Building for production... 17:34:13 ERROR Failed to compile with 5 errors5:34:09 PM 17:34:13 17:34:13 error in ./src/layout/components/Sidebar/Item.vue?vue&typescript&langjs& 17:34:13 17:34:13 Syntax Error…

万应低代码1月重点更新内容速递

速览版 详情版 一、低代码开发能力提升 01 工作流 &#xff08;1&#xff09; 优化流程推演 在流程发起时&#xff0c;对流程各节点审批人、抄送人进行实时推演。 【使用场景】 ● 以“请假”场景为例&#xff0c;A 角色的固定审批人为“甲、乙、丙” 3 人&#xff0c;在某…

windows10操作系统 显卡MX150 安装CUDA+cuDNN+pytorch

本人水平有限&#xff0c;如有问题请多指正笔记本系统&#xff1a;Windows 10 64位显卡&#xff1a;NVIDIA GeForce MX150显卡驱动程序版本&#xff1a;512.78显卡驱动程序支持CUDA版本&#xff1a;11.6.134及以下安装CUDA&#xff1a;11.6.0安装cuDNN&#xff1a;8.7.0一、安装…

路由器刷机解决学校无线上网问题(小米4A千兆版)

一、准备工作 1、路由器正常联网状态&#xff0c;&#xff08;正常联网状态指的是电脑能够通过路由器上网&#xff09; 2、电脑网线插入路由lan口&#xff0c;IP地址设置为自动获取 3、启动window10的Telent功能 控制面板 -> 程序和功能 -> 左侧“启动或关闭Windows功能…

FormArray在动态表格中的应用

如下图&#xff0c;是这次想要实现的功能。 一个表格行&#xff0c;点击新增按钮就增加一行&#xff0c;点击后面的删除按钮就可以删除对应的行&#xff0c;其中有部分字段需要添加非空校验。要想实现这个功能&#xff0c;需要应用到FormArray的知识。 步骤: 1. 声明一个Form…

打开IE浏览器自动跳转到Edge的解决方法

场景Windows 10中&#xff0c;打开IE浏览器自动跳转到Edge&#xff0c;但是某些网站还是只能在IE中正常访问&#xff0c;Edge访问会出问题。解决方案Edge中点击右上角的三个点&#xff0c;然后点击设置在“默认浏览器”中&#xff0c;修改“让 Internet Explorer 在 Microsoft …

Linux-文件和目录常用命令

1.查看目录内容1.1 终端使用技巧自动补全在敲出 文件/目录/命令的前几个字母之后&#xff0c;按下tab键如果输入的没有歧义&#xff0c;系统会自动补全如果还存在其他文件/目录/命令,再按一下tab键,系统会提示可能存在的命令曾经使用过的命令按上/下光标键可以再曾经使用过的命…

GeoServer系列-安装SqlServer插件

GeoServer 安装包中是不含sqlserver插件的&#xff0c;所以无法创建sqlserver的数据存储&#xff0c;要想支持发布sqlserver的空间表到geoserver就需要添加插件 1&#xff0c;下载插件 官网下载地址&#xff1a;https://geoserver.org/download/ 根据自己的版本下载指定的插件…

Java之并发编程(三)

五、Java 常见并发容器总结 1.ConcurrentHashMap ConcurrentHashMap : 线程安全的 HashMap 1.1 Collections.synchronizedMap() 并发时使用它方法包装HashMap同步&#xff0c;这属于全局锁&#xff0c;性能低下。 1.2 ConcurrentHashMap&#xff0c; 读写操作都能保证很高…

文献阅读-Deep multi-view learning methods: A review

文献阅读-Deep multi-view learning methods: A reviewAbstract1-Introduction1.1 Comparison with Previous Reviews2 Multi-view Learning Methods in The Deep Learning Scope2.1 Multi-view convolutional neural network2.2. Multi-view auto-encoder2.3. Multi-view gene…

杉数求解器

目录前言一、简介以及安装二、COPT交互式命令行工具2-1、普通工具命令2-2、COPT工具命令三、使用示例3-1、交互模式3-2、Windows下终端窗口直接加载四、Python接口4-1、安装4-2、案例分析五、COPT调优工具5-1、介绍5-2、调优工具相关参数六、Python API参考6-1、COPT常数类总结…

【Jetson安装Nomachine】

0. 介绍 Nomachine是一款免费的远程桌面访问应用程序。支持用户从任何地方访问连接到Internet的计算机。该应用程序允许多个用户访问单个PC&#xff0c;且支持使用不同的操作系统。 官网链接&#xff1a;NoMachine - Free Remote Desktop for Everybody 1. 下载Nomachine 软…

【C++】简单理解内联函数

内联函数1.内联函数的概念2.C为什么要有内联函数&#xff1f;3.内联函数展示3.1查看方式3.2 观察汇编代码4.使用内联函数的注意事项5.内联函数缺点和优点1.内联函数的概念 以inline修饰的函数叫做内联函数&#xff0c;编译时C编译器会在调用内联函数的地方展开&#xff0c;没有…

九龙证券|沪指收获2010年以来最强1月 北向资金净买入额刷新历史纪录

昨日&#xff0c;A股小幅调整&#xff0c;2023年1月行情随之收官。全体来看&#xff0c;1月A股商场拾级而上&#xff0c;盘面出现普涨格局&#xff0c;价值与生长风格均有亮眼体现。三大股指中&#xff0c;上证指数1月上涨5.39%&#xff0c;创2010年以来最佳局面。深证成指、创…

zookeeper 源码分享二 ----启动加载数据

单机zookeeper 启动加载数据 读取磁盘中快照文件&#xff0c;选择其中第一个能正确加载的文件&#xff0c;最多加载100个快照文件。反序列化快照文件&#xff0c;进行内存DataTree数据加载根据最新事物日志&#xff0c;加载事物日志快照并进行反序列化重新执行事物日志中的操作…

OAuth2流程演示示例

目录一、OAuth2流程演示示例1、创建项目结构①客户②认证服务器③资源拥有者④资源服务器2、流程①资源所有者②客户③客户④认证服务器⑤客户⑥资源服务器一、OAuth2流程演示示例 client 客户 authorization-server 认证服务 resource-owner 资源所有者 resource-server 资源服…

anaconda下载安装,镜像源配置修改及虚拟环境的创建

anaconda安装Anaconda 简介Anaconda 安装1.安装流程2.anaconda 配置修改3. 创建虚拟环境4.常用命令Anaconda 简介 Anaconda&#xff08;官方网站&#xff09;就是可以便捷获取包且对包能够进行管理&#xff0c;同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python…