三维曲线

Plot3函数与Plot函数非常相似,其调用格式为:

Plot3

其中每组x,y,z,y,z构成一组曲线坐标参数,选项的定义与绘图函数相同。当x,y,z是相同的维向量时,x,y,z的对应元素形成三维曲线。当x、y、z为同维矩阵时,用x、y、z对应的列元素绘制三维曲线,曲线的个数等于矩阵的列数。

画一条三维曲线。

程序如下:

t = 0:pi/100:20 * pi;

x = sin;

y = cos;

z=t.*sin。* cos;

plot3;

标题;

xlabel;yla bel;zlabel;

三维表面

1.生成三维数据

在MATLAB中,利用网格函数生成平面区域的网格坐标矩阵。格式是:

x = a:D1:b;y = c:D2:d;

=meshgrid;

语句执行后,矩阵X的每一行都是向量X,行数等于向量Y的元素个数,矩阵Y的每一列都是向量Y,列数等于向量X的元素个数。

2.绘制三维曲面的功能

surf函数和mesh函数的调用格式为:

网格:画一个网格曲面,追踪空之间的数据点,连接成一个网格。

Surf:画一个完整的曲面,画出数据点所代表的曲面。

一般来说,x,y,z,y,z是同维数的矩阵。x,y为网格坐标矩阵,z为网格点上的高度矩阵,c用于指定不同高度的颜色范围。

例:画一个三维曲面图z=sin)-x/10。

程序如下:

= mesh grid;%在×区域生成网格坐标

z = sin)-x/10;

网格;

轴;

此外,还有带轮廓线的三维网格曲面函数网格和带基的三维网格曲面函数网格。它的用法类似于网格,除了MEHC还在xy平面上绘制Z轴方向的曲面轮廓线,MEHz也在xy平面上绘制曲面的基面。

示例:在xy平面选择区域×,绘制四种3D曲面图。

程序如下:

= mesh grid;

z=sin)./sqrt;

子情节;

网格;

标题')

支线剧情;

meshc;

标题')

支线剧情;

meshz

标题')

子情节;

surf;

标题')

3.标准3D表面

球面函数的调用格式是:

=球面:生成三个-乘-矩阵,使SURF生成一个单位球面。

柱面函数的调用格式是:

=圆柱体,其中R是圆周的半径,n是构成圆周的点数。

MATLAB还有一个峰值函数,叫做多峰函数,常用于演示3D曲面。

示例绘制标准三维表面图形。

程序如下:

t = 0:pi/20:2 * pi;

=圆柱体,30);

子情节;

surf;

支线剧情;

=球面;

surf;

子情节;

=峰值;

surf;

其他3d图形

在介绍2D图形时,提到了条形图、条形图、饼图、填充图等特殊图形,它们也可以以3D形式出现,使用的功能分别是bar3、stem3、pie3和fill3。

Bar3函数绘制三维条形图,常用格式是:

bar3

bar3

Stem3函数绘制离散系列数据的三维条形图,常用格式为:

stem3

stem3

Pie3函数绘制三维饼图,常用格式是:

pie3

fill3函数相当于三维函数fill,可以画出三维的填充多边形空。常见的格式是:

fill3

绘制三维图形的示例:

画出魔方阵列的三维条形图。

以三维条形图的形式画出曲线y=2sin。

给定x=,画一个饼状图。

画五个顶点坐标值随机的黄色三角形。

程序如下:

子情节;

bar3)

支线剧情;

y = 2 * sin;

stem 3;

支线剧情;

pie3;

子情节;

fill3,rand,rand,' y ')

绘制瀑布和多峰函数等高线图。

程序如下:

子情节;

=峰值;

瀑布

xlabel、ylabel、zlabel;

子情节;

contour3;%其中12代表高度级别的数量

xlabel、ylabel、zlabel;

图形装饰处理

视点处理MATLAB提供了设置视点的函数视图,其调用格式为:

视图

其中az是方位角,el是仰角,两者都以度为单位。系统默认视点定义为-37.5°方位角和30°仰角。

从不同角度绘制多模态函数曲面。

程序如下:

子情节;网格;

视图;%指定子图1的视点

标题

支线剧情;网格;

视图;%指定子图2的视点

标题

支线剧情;网格;

视图;%指定子图3的视点

标题

子情节;网格;

视图;%指定子图4的视点

标题

彩色处理

1.颜色的矢量表示

MATLAB除了用字符表示颜色外,还可以用包含三个元素的向量来表示颜色。矢量元素取范围内的值,三个元素分别代表红、绿、蓝的相对亮度,称为RGB三重。

2.色表

彩色地图是MATLAB系统引入的概念。在MATLAB中,每个图形窗口只能有一个颜色图。色图是m×3的数值矩阵,每一行都是RGB三元组。可以人工生成色图矩阵,也可以调用MATLAB提供的函数来定义色图矩阵。

3.三维表面图形的着色

事实上,3D表面图是在网格图的每个网格表上绘制颜色。surf函数使用默认的着色方法给网格着色。此外,您还可以使用着色命令来更改着色模式。

Shadingfaceted命令使用与其高度相对应的颜色为每个网格切片着色,但网格线保持不变。着色平面命令用相同的颜色给每个网格切片着色,网格线也使用相应的颜色,从而使图形表面看起来更平滑。

Shading interp命令在网格切片中使用颜色插值处理,得到的表面图最平滑。

颜色是黑色。这是系统的默认着色方法

例3三种图形着色方法的效果显示。

程序如下:

=球体;

colormap;

支线剧情;

surf;

轴相等

支线剧情;

surf;阴影平坦;

轴相等

支线剧情;

surf;阴影interp

轴相等

照明处理

MATLAB提供灯光设置功能,其调用格式为:

光线

光照处理后的球体。

程序如下:

=球体;

子情节;

surf;轴相等;

光;

阴影interp

坚持住。

plot3;文本;

子情节;

surf;轴相等;

光;

阴影interp

坚持住。

plot3;文本;

图形的切割加工

例4-22画一个三维曲面图,进行插值着色处理,切掉图中x和y小于0的部分。

程序如下:

= mesh grid;

z=cos。*cos。*exp/4);

surf;阴影interp

暂停%程序暂停

I = find;

Z1 = z;Z1= NAn;

surf;阴影interp

若要显示裁剪效果,请在绘制第一个曲面后暂停,然后显示裁剪后的曲面。

图像处理和动画

图像处理

1.imread和imwrite函数

Imread和imwrite功能用于将图像文件读入MATLAB work room空,将图像数据和色图数据写入一定格式的图像文件。MATLAB支持各种图像文件格式,比如。bmp,。jpg,。jpeg,。tif等。

2.图像和图像功能

这两个功能用于图像显示。为了保证图像的显示效果,还应该使用颜色映射功能来设置图像的颜色图表。

示例5-23有一个图像文件flower.jpg,并在图形窗口中显示该图像。

程序如下:

= im read;%读取图像的数据数组和颜色数组

图像;color map;

轴图像关闭%保持纵横比并取消轴

动画制作

MATLAB为动画提供getframe、moviein和movie函数。

1.getframe函数

Getframe函数可以截取一个图片信息,形成一个大的列向量。很明显,保存N张图纸需要很大的矩阵。

2.移动输入功能

moviein函数用于构建足够大的n列矩阵。矩阵用于保存n张图片的数据以供播放。之所以要提前建立大矩阵,是为了提高程序的运行速度。

3.电影功能

电影功能将矩阵m定义的画面播放n次,默认播放一次。

示例绘制峰值函数曲面,并围绕z轴旋转它。

程序如下

=峰值;

冲浪

轴关闭;

阴影interp

color map;

m = movie in;%创建20列矩阵

对于i=1:20

视图,30)%更改了视点

m= get frame;%将图形保存到m矩阵

结束

电影;%播放图片两次

MATLAB三维网络图的高级处理

4.1.冲裁加工

例子。比较网络图消隐前后的图形

z =峰值;

支线剧情;

网格;

标题

隐藏关闭

子情节;

网格;

标题

隐藏在

colormap

4.2.切割加工

利用不定数NaN的特性,可以裁剪出网络图

例子。图形剪辑处理

p =峰值;

子情节;

网孔;

标题;

子情节;

P= NAn * one;%作物

mesh z;%幕帘线图

标题

彩色地图%蓝色网线

切割时注意矩阵的对应关系,即尺寸必须相同

4.3.三维旋转体的绘制

为了让一些专业用户更方便的绘制三维旋转体,MATLAB提供了两个功能:圆柱体功能和球体功能

圆柱图由功能圆柱实现。

=圆柱体此函数生成一个母线向量为R的单位圆柱体,R是在单位高度内等比例尺定义的半径向量,N是旋转圆上的网格线个数。这个圆柱体可以用表示。

=圆柱体或=圆柱体这种形式是默认的N=20和R=

例子。圆柱函数演示示例

x = 0:pi/20:pi * 3;

r = 5+cos;

=圆柱体;

网格

例子。旋转圆柱图。

t = 0:pi/12:3 * pi;

r=abs。* sin);

r=abs。* sin);

=圆柱体;

网格

彩色地图

.球面图

球面绘制是通过功能球实现的

=球面%此函数生成三个*矩阵

Surf%生成一个单位球面

=球体%此样式使用默认值N=20。

球体%只绘制一个球形贴图,不返回任何值

画一张地球表面气温分布示意图。

=球体;

t = ABS;

surf;

轴%这两个控制轴具有相同的大小

彩色地图

1.《三维教程 matlab三维作图教程》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《三维教程 matlab三维作图教程》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/shehui/1678553.html