matlab绘图(三)绘制三维图像

目录

一、绘制三维曲线

 二、绘制三维曲面

1.meshgrid函数

 2.mesh和surf函数


一、绘制三维曲线

1.最基本的绘制三维曲线的函数—plot3

plot3(x1,y1,z1, 选项 1,x2,y2,z2, 选项 2,…, xn,yn,zn , 选项 n)
其中,每一组 x y z 组成一组曲线的坐标参数,选项的定义和 plot 函数相同。当 x y z 是同维向量时,则 x y z 对应元素构成一条三维曲线;当 x y z 是同维矩阵时,则以 x y z 对应列元素绘制三维曲线,曲线条数等于矩阵列数。(plot详细用法可以参考我的博客:matlab绘图(一)

例1. 绘制三维曲线

 代码如下:

t=0:pi/10:10*pi;%取点
x=sin(t)+t.*cos(t);
y=cos(t)-t.*sin(t);
z=t;%计算x,y,z坐标
plot3(x,y,z,'Color','#4F4F2F','Linewidth',1.5);
axis([-30 30 -30 30 0 35])%设置坐标范围
title('Line in 3-D Space');%标题
xlabel('X');ylabel('Y');zlabel('Z');%x,y,z轴标签
grid on;%开启网格线

绘制图形如下:

 2.简易绘制三维曲线

对于参数形式表示的三维曲线,还可以用简易绘图函数ezplot3绘制。

调用格式:ezplot3(x,y,z,[a,b])

在区间ab绘制由参数方程= x (t)= y (t= z (t确定三维曲线。未指定区间时,默认在区间0 < t < 2pi绘制图形。

例2. 绘制三维曲线

syms t
x=sin(t)+t.*cos(t);
y=cos(t)-t.*sin(t);
z=t;%计算x,y,z坐标
ezplot3(x,y,z,[0,10*pi])

运行结果;

 二、绘制三维曲面

Matlab 中绘制三维曲面的基本方法: (按某种规则)在曲面上取 mxn 个网格点 Qij ,设它们的 x y z 坐标分别构成矩阵 X Y Z 则用 mesh(X,Y,Z) surf(X,Y,Z) 就可以画出该曲面。

1.meshgrid函数

对于函数曲面,即由 z=f( x,y ) a<x<b, c<y<d 表示的曲面,通常,先在 x 轴的区间 [ a b ] 内取 n 个点 ,设这些点的 x 坐标构成向量 x; 再在 y 轴的区间 [ c ] 内取 m 个点 ,设这些点的 y 坐标构成向量 y; 由各划分点分别作平行于两坐标轴的直线,则得到二维矩形区域 a<x<b, c<y<d 内的 mxn 个网格点 P ij 。这 mxn 个网格点的 x 坐标构成 mxn 的矩阵 X ,它们的 y 坐标构成 mxn 的矩阵 Y ,即第 ( i,j ) 个网格点 P ij 的坐标为 (X( i,j ),Y( i,j )) 。如何由向量 x, y 得到矩阵 X, YMatlab 专门提供了一个函数 meshgrid ,它的功能就是由 x,y 轴的划分点(向量 x,y )生成二维网格点 P ij 的坐标矩阵 X,Y
格式 [X,Y]= meshgrid ( x,y ); y=x 时,可以简化为 [X,Y]= meshgrid (x)
将二维矩形区域 a<x<b, c<y<d 内的 mxn 个网格点 P ij 通过 z=f( x,y ) 映射到曲面上,就得到曲面上的 mxn 个点 Q ij ,第 ( i,j ) 个点 Q ij 的坐标为 (X( i,j ),Y( i,j ), Z( i,j )), Q ij x,y 坐标与 P ij 的相同,因此,   Q ij x,y 坐标构成的矩阵分别是由 meshgrid 函数生成的X,Y. z 坐标构成的矩阵 Z 可以根据 Z( i,j )=f(X( i,j ),Y( i,j )) 利用点运算得到。 生成了曲面上 mxn 个网格点 Qij x,y,z 坐标矩阵 X Y Z 后,利用 mesh(X,Y,Z) surf(X,Y,Z) 等函数就可以把这张曲面画出来。

 2.mesh和surf函数

mesh函数用于绘制三维网格图,surf用于绘制三维曲面图,各线条之间的补面用颜色填充。以下介绍mesh的使用格式 (surfmesh的使用格式相同)。

mesh(X,Y,Z,C) : 其中,X,Y,Z 分别是由曲面上mxn个点的x坐标、y坐标和z坐标构成的mxn的矩阵,即: (X(i,j),Y(i,j),Z(i,j))是第(i,j)个网格点Pij的坐标, C(i,j)是Pij的颜色值。

mesh(X,Y,Z) 使用C=Z(颜色值正比于高度值)

mesh(x,y,Z)mesh(x,y,Z,C) :使用两个向量代替两个矩阵,要求: length(x)=n, length(y)=m ,[m,n]=size(Z),第(i,j)个网格点Pij的坐标为(x(j),y(i),Z(i,j))

mesh(Z):等价于mesh(1:n,1:m,Z)。

mesh(Z,C):等价于mesh(1:n,1:m,Z,C)。

例3.绘制函数z=x*exp(-x^2-y^2)[-2,2]x[-3,3]内的图形。下面两段代码效果是完全一样的。

%% figure1
figure(1)
x=-2:0.1:2;   y=-3:0.1:3; 
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
mesh(X,Y,Z);
title('figure 1')
colorbar
%% figure2
figure(2)
x=-2:0.1:2;m=size(x,2);
y=-3:0.1:3; n=size(y,2);
Z=zeros(n,m);
for i=1:mfor j=1:nZ(j,i)=x(i)*exp(-x(i)^2-y(j)^2);end
end
mesh(x,y,Z);
colorbar
title('figure 2')

 结果展示:

 曲面图绘制(只需将mesh改为surf即可),这十张图片体现不同的颜色映射风格,标题为对应的colormap的值。

代码如下:

%% figure 1
figure(1)
x=-2:0.1:2;   y=-3:0.1:3; 
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('hsv')
colormap('hsv')
shading flat
%% figure 2
figure(2)
x=-2:0.1:2;   y=-3:0.1:3; 
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('jet')
colormap('jet')
shading interp
%% figure 3
figure(3)
x=-2:0.1:2;   y=-3:0.1:3; 
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('copper')
colormap('copper')
shading interp
%% figure 4
figure(4)
x=-2:0.1:2;   y=-3:0.1:3; 
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('bone')
colormap('bone')
shading interp
%% figure 5
figure(5)
x=-2:0.1:2;   y=-3:0.1:3; 
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('flag')
colormap('flag')
shading interp
%% figure 6
figure(6)
x=-2:0.1:2;   y=-3:0.1:3; 
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('pink')
colormap('pink')
shading interp
%% figure 7
figure(7)
x=-2:0.1:2;   y=-3:0.1:3; 
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('spirng')
colormap('spring')
shading interp%% figure 8
figure(8)
x=-2:0.1:2;   y=-3:0.1:3; 
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('summer')
colormap('summer')
shading interp%% figure 9
figure(9)
x=-2:0.1:2;   y=-3:0.1:3; 
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('autumn')
colormap('autumn')
shading interp%% figure 10
figure(10)
x=-2:0.1:2;   y=-3:0.1:3; 
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
title('winter')
colormap('winter')
shading interp

图像结果展示:

 

 

 

 

 例4.绘制三维曲面图= sinx^2 + cosy^2x:[0,pi]y:[0,pi/2]

代码:

[x,y]=meshgrid(0:pi/100:pi, 0:pi/100:pi/2);
z=sin(x.^2)+cos(y.^2);
surf(x,y,z);
axis([0 4 0 1.8 -1.5 1.5]);
colormap('prism')
shading interp
colorbar

 运行结果:

这节先说这么多,下期将继续分享!

 

 

 

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PyOpenGL三体模拟

给定多星系统的初始状态&#xff0c;以一定的时间步&#xff0c;计算在引力作用下的星体运动&#xff0c;并使用openGL实时可视化。 实验环境 python37OpenGL https://www.cnblogs.com/GraceSkyer/p/9235582.html numpy PIL 初始条件 使用一个数组p表示多星系统的初始条件…

使用python进行字频统计和词频统计

问题描述 读取给定的语料库&#xff0c;根据制表符’\t’划分其文本与标签&#xff0c;将获得的文本仅保留汉字部分&#xff0c;并按字划分&#xff0c;保存在列表中&#xff0c;至少使用一种方法&#xff0c;统计所有汉字的出现次数&#xff0c;并按照从高到低的顺序排序&…

Imagenet VGG-19图片识别实例展示

资源&#xff1a; 1.相关的vgg模型下载网址 http://www.vlfeat.org/matconvnet/models/beta16/imagenet-vgg-verydeep-19.mat 2.ImageNet 1000种分类以及排列 https://github.com/sh1r0/caffe-Android-demo/blob/master/app/src/main/assets/synset_words.txt&#xff08;如果…

外滩画报:揭秘全球电子垃圾坟墓

在西方发达国家&#xff0c;有这样一个不为人知的秘密&#xff1a;当你把电子垃圾送给回收商而不是扔进垃圾箱里后&#xff0c;很快&#xff0c;大约 80% 的电子垃圾就会被装上集装箱船&#xff0c;运往尼日利亚、印度、巴基斯坦和中国那些常年被毒烟笼罩的垃圾场。师从人道主义…

《荒野猎人》影评

如果没有小李子和奥斯卡数十年相爱相杀赚足眼球这件事&#xff0c;《荒野猎人》最大的看点应该是导演亚利桑德罗冈萨雷斯伊纳里图和摄影师艾曼努尔卢贝兹基的再度合作。 伊纳里图的电影履历如晴朗夏夜的星空一般漂亮璀璨&#xff0c;执导座《爱情是狗娘》一举拿下2000年东京国际…

印度之行(一) 印度是个很大的国家

&#xff08;baidu真渣。。。&#xff09; 首先&#xff0c;我们弄清了&#xff0c;老王吃了一个月咖喱的地方&#xff0c;下面是老王的咖喱味思考&#xff1a; 在印度浦内市&#xff08;又译浦那市&#xff09;待了5周&#xff0c;基本是在公司的浦内office做项目&#xff0c;…

HTML标签

HTML标签友情链接 如果在 HTML 中需要文字或者图片垂直居中时&#xff0c;可以使用 align "center"&#xff0c;可以对文字或着图片进行垂直居中&#xff01; 这是一个很好的例子&#xff1a; <!doctype html> <html lang"en"> <head&…

苏州免费景点

文章目录 苏州免费景点姑苏区相门古城墙平江历史街区曲园畅园七里山塘朴园五峰园拥翠山庄天香小筑明轩实样北寺塔定慧寺城隍庙神仙庙苏州博物馆忠王府苏州民俗博物馆中国昆曲博物馆苏州公园桂花公园桐泾公园 吴中区沐春园(原园博会苏州园)瑞园道勤小筑乡畦小筑石湖风景区灵岩山…

又一个程序员被判刑了!运维违规操作被判5年半,IT从业需要懂法律!

点击上方 "程序员小乐"关注, 星标或置顶一起成长 每天凌晨00点00分, 第一时间与你相约 每日英文 Sleeping is nice. You forget about everything for a little while. 还是睡觉好&#xff0c;能暂时忘掉一切烦恼。 每日掏心话 人生如梦&#xff0c;岁月匆匆&#x…

又背锅了,一个“锁表” 损失 800万,程序员被判5年半

图片来自 Pexels 出处&#xff1a;云头条&#xff0c;知乎综合整理, 51CTO 链接&#xff1a;https://www.zhihu.com/question/389167387/answer/1170852426 近日&#xff0c;云头条发布的“一个违规操作、损失 800 万、被判五年半&#xff1a;运维夏某某致郑大一附院智慧医院系…

一个“锁表”损失800万,运维被判5年半

“ 近日&#xff0c;云头条发布的“一个违规操作、损失 800 万、被判五年半&#xff1a;运维夏某某致郑大一附院智慧医院系统瘫痪 2 个小时&#xff0c;判破坏计算机信息系统罪”一文引发了技术圈的热议。 图片来自 Pexels 事件经过 夏某某任职北京中科某某科技有限公司&#x…

大运河的一些总结

京杭大运河&#xff0c;是一条承载着历史&#xff0c;流淌着过去和未来的河流&#xff0c;是我非常喜欢的一条人工河&#xff0c;但一直以来不太清楚其具体分段和水流流向&#xff0c;近期通过了解南水北调东线工程&#xff0c;并经过查阅资料终于弄清楚了京杭大运河的各个河段…

科技周刊第六期:接近本质的东西才会长远

这里记录每周值得分享的东西&#xff0c;每周五发布。 封面图 中国西南西藏自治区山南市扎南县的雅鲁藏布江&#xff08;出处&#xff09; 本周话题&#xff1a;接近本质的东西才会长远 我想说三个现象&#xff1a; 1、为什么很多明星能够一直红下去&#xff1f;而有的明星只…

python调用mysql并在前台做数据展示

今天是学习python的第二天。 根据自己的需要&#xff0c;将前段时间的扇形图稍微升华一下&#xff0c;从而可以从mysql数据库中查询数据&#xff0c;并作图形的展示。 以下为图形展示&#xff1a; #导入库--注意本段代码不适用于python2 import pymysql import matplotlib.py…

中国农民丰收节交易会暨“日照有礼”功能性特色产品展示

中国农民丰收节交易会暨“日照有礼”功能性特色产品展示 齐鲁网闪电新闻讯 新闻中国采编网 中国新闻采编网 谋定研究中国智库网 经信研究 国研智库 国情讲坛 万赢信采编&#xff1a;为庆祝农民丰收节&#xff0c;进一步推动日照乡村振兴建设步伐&#xff0c;倡导功能性农业农业…

C++ STL的简单运用——学习记录

本周学了一下STL&#xff0c;学的内容有string&#xff0c;stack&#xff0c;queue&#xff0c;vector&#xff0c;priority queue&#xff0c;map&#xff0c;set与其简单应用&#xff0c; 速度比较快&#xff0c;&#xff0c;还好学之前我预习了一些&#xff0c;&#xff0c;…

ArcGIS水文分析实战教程(12)河网分级流程

ArcGIS水文分析实战教程(12)河网分级流程 本章导读&#xff1a;如果说河流提取是面对没有数据后者数据匮乏的用户&#xff0c;那么河网分级就完全属于为水文研究而生的一个工具。河流具有干流和支流之分&#xff0c;河网分级能够将这些干支关系理顺&#xff0c;并从中找到其水文…

[论文总结] 深度学习在农业领域应用论文笔记2

文章目录 1. A comparative study of fruit detection and counting methods for yield mapping in apple orchards &#xff08;IF3.581, 2019&#xff09;1.1 介绍1.2 实验与结果1.3 定性结果1.4 失败案例1.4.1 检测1.4.2 计数 1.5 结论与未来工作 2.Wheat crop yield predic…

Java 反射慢?它到底慢在哪?

往期热门文章&#xff1a; 1、GitHub 被超火的 ChatGPT 霸榜&#xff01; 2、Java使用 try catch会影响性能&#xff1f; 3、原来count(*)是接口性能差的真凶&#xff01; 4、大公司病了&#xff0c;这也太形象了吧&#xff01;&#xff01;&#xff01; 5、全球最大资源站创始…

运营人必懂 | TikTok运营指南

“TikTok之前确实很火&#xff0c;现在呢&#xff1f;” 最新数据告诉你&#xff1a; Sensor Tower商店情报数据显示&#xff0c;2022年9月抖音及海外版TikTok在全球App Store和Google Play吸金超过3.15亿美元&#xff0c;是去年同期的1.7倍&#xff0c;蝉联全球移动应用&…