三维曲线
Plot3函数在用法上与Plot函数非常相似,其调用格式为:
地块3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)
其中每组x,y,z,y,z构成一组曲线的坐标参数,选项的定义与plot函数相同。当x、y、z为同维向量时,x、y、z对应的元素形成一条三维曲线。当x、y、z为同维矩阵时,用x、y、z对应的列元素画一条三维曲线,曲线的个数等于矩阵列的个数。
画一条三维曲线。
该过程如下:
t = 0:pi/100:20 * pi;
x = sin(t);
y = cos(t);
z=t.*sin(t)。* cos(t);
plot3(x,y,z);
标题(“三维空间中的线条”);
xlabel(\' X \');Y label(\' Y \');zlabel(\' Z \');
三维表面
1.生成三维数据
在MATLAB中,meshgrid函数用于生成平面区域的网格坐标矩阵。它的格式是:
x = a:D1:b;y = c:D2:d;
[X,Y]=meshgrid(x,Y);
语句执行后,矩阵X的每一行都是向量X,行数等于向量Y的元素数,矩阵Y的每一列都是向量Y,列数等于向量X的元素数。
2.绘制三维表面的功能
Surf函数和mesh函数以下列格式调用:
Mesh(x,y,z,c):画一个网格面,追踪空之间的数据点,连接成网格。
Surf(x,y,z,c):画一个完整的曲面,画出数据点代表的曲面。
一般来说,x,y,z,y,z是维数相同的矩阵。x,y是网格坐标矩阵,z是网格点的高度矩阵,c用来指定不同高度的颜色范围。
例画一个三维曲面图z=sin(x+sin(y))-x/10。
该过程如下:
[x,y]= mesh grid(0:0.25:4 * pi);%在[0,4pi][0,4pi]区域生成网格坐标
z = sin(x+sin(y))-x/10;
网格(x,y,z);
轴([0 4 * pi 0 4 * pi-2.5 1]);
此外,还有带轮廓线的三维网格曲面函数meshc和带基的三维网格曲面函数meshz。其用法与mesh类似,只是meshc也在xy平面上绘制Z轴方向的曲面轮廓,meshz也在xy平面上绘制曲面的底面。
示例选择xy平面上的区域[-8,8][-8,8],绘制四种三维曲面。
该过程如下:
[x,y]= mesh grid(-8:0.5:8);
z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps);
支线剧情(2,2,1);
网格(x,y,z);
标题(\'网格(x,y,z)\')
支线剧情(2,2,2);
meshc(x,y,z);
标题(\' meshc(x,y,z)\')
支线剧情(2,2,3);
meshz(x,y,z)
Tit文佳社会百科全书le(\'meshz(x,y,z)\')
支线剧情(2,2,4);
surf(x,y,z);
标题(\' surf(x,y,z)\')
3.标准3D表面
球面函数的调用格式为:(球面、域、半球、圆)
[x,Y,z]=sphere(n):生成三个(N+1)-乘-(N+1)矩阵,使SURF(X,Y,Z)生成一个单位球。
柱面函数的调用格式为:(柱面,柱面,柱面)
[x,y,z]= cylinder(R,n),其中R是圆的半径,n是组成圆的点数。
MATLAB还有一个peaks函数,叫多峰函数,常用来演示三维曲面。
示例绘制标准三维曲面图形。
该过程如下:
t = 0:pi/20:2 * pi;
[x,y,z]= cylinder(2+sin(t),30);
支线剧情(2,2,1);
surf(x,y,z);
支线剧情(2,2,2);
[x,y,z]=球面;
surf(x,y,z);
支线剧情(2,1,2);
[x,y,z]= peaks(30);
surf(x,y,z);
其他三维图形
在介绍二维图形时,已经提到了条形图、条形图、饼图和填充图等特殊图形。也可以三维形式出现,使用的函数分别是bar3、stem3、pie3、fill3。
3条形图功能绘制三维条形图,常见格式为:
bar3(y)
bar3(x,y)
stem3函数绘制离散序列数据的三维条形图。常见的格式是:
茎3(z)
stem3(x,y,z)
Pie3函数绘制三维饼图,常见的格式是:
pie3(x)
fill3函数相当于三维函数fill,可以在三维空空间中绘制填充的多边形。常见的格式是:
填充3(x,y,z,c)
绘制三维图形示例:
(1)画出魔方阵列的三维条形图。
(2)以三维条形图的形式画出曲线y=2sin(x)。
(3)给定x=[2347,1827,2043,3025],画一个饼状图。
(4)画五个顶点坐标值随机的黄色三角形。
该过程如下:
支线剧情(2,2,1);
bar3(魔法(4))
支线剧情(2,2,2);
y = 2 * sin(0:pi/10:2 * pi);
stem 3(y);
支线剧情(2,2,3);
pie3([2347,1827,2043,3025]);
支线剧情(2,2,4);
fill3(兰德(3,5),兰德(3,5),兰德(3,5),\' y \')
绘制瀑布图和多模态函数的等值线图。
该过程如下:
支线剧情(1,2,1);
[X,Y,Z]= peaks(30);
瀑布(X,Y,Z)
xlabel(\'X轴\'),ylabel(\'Y轴\'),zlabel(\'Z轴\');
支线剧情(1,2,2);
contour3(X,Y,Z,12,\' k \');%其中12代表高度的级数。
xlabel(\'X轴\'),ylabel(\'Y轴\'),zlabel(\'Z轴\');
图形装饰加工
处理视点的MATLAB提供了设置视点的函数视图,其调用格式为:
视图(az,el)
Az是方位角,el是仰角,都是以度为单位。系统的默认视点定义为方位角-37.5°和仰角-30°。
从不同角度绘制多峰函数曲面的示例。
该过程如下:
支线剧情(2,2,1);网格(峰值);
视图(-37.5,30);%指定子图1的视点。
标题(“方位角=-37.5°,仰角= 30°”)
支线剧情(2,2,2);网格(峰值);
视图(0,90);%指定子图像2的视点。
标题(“方位角=0,仰角=90”)
支线剧情(2,2,3);网格(峰值);
视图(90,0);%指定子图3的视点。
标题(“方位角=90度,仰角=0度”)
支线剧情(2,2,4);网格(峰值);
视图(-7,-10);%指定子图4的视点。
标题(“方位角=-7°,仰角=-10°”)
颜色处理
1.颜色的矢量表示
MATLAB除了用字符表示颜色,还可以用包含三个元素的向量表示颜色。向量值在[0,1]范围内,三个元素分别代表红绿蓝的相对亮度,称为RGB三元组。
2.比色图表
彩色地图是MATLAB系统引入的概念。在MATLAB中,每个图形窗口只能有一个颜色图表。彩色图是m3的数字矩阵,其中的每一行都是RGB三元组。色卡矩阵可以人工生成,也可以调用MATLAB提供的函数来定义色卡矩阵。
3.三维表面图形的着色
三维曲面图其实就是给网格图的每个网格块上色。Surf函数使用默认的着色方法给网格切片着色。此外,还可以使用着色命令来更改着色方法。
Shadingfaceted命令用相应的颜色给每个网格块着色,但网格线保持不变。shading flat命令用相同的颜色给每个网格块着色,网格线也使用相应的颜色,使图形表面显得更平滑。
Shading interp命令在网格中使用颜色插值,得到的曲面贴图最平滑。
颜色是黑色的。这是系统的默认着色方法。
演示了三种图形着色方法的效果。
该过程如下:
[x,y,z]=球面(20);
彩色地图(铜色);
支线剧情(1,3,1);
surf(x,y,z);
轴相等
支线剧情(1,3,2);
surf(x,y,z);遮光平面;
轴相等
支线剧情(1,3,3);
surf(x,y,z);阴影interp
轴相等
光照处理
MATLAB提供了灯光设置的功能,其调用格式为:
灯光(“颜色”,选项1,“样式”,选项2,“位置”,选项3)
光照后的球面。
该过程如下:
[x,y,z]=球面(20);
支线剧情(1,2,1);
surf(x,y,z);轴相等;
light(\'Posi \',[0,1,1]);
阴影interp
坚持住;
plot3(0,1,1,\' p \');text(0,1,1,\'轻\');
支线剧情(1,2,2);
surf(x,y,z);轴相等;
light(\'Posi \',[1,0,1]);
阴影interp
坚持住;
plot3(1,0,1,\' p \');text(1,0,1,\'光\');
图形的切割处理
例4-22画一个三维曲面图,进行插值着色处理,把图中x和y都小于0的部分剪去。
该过程如下:
[x,y]= mesh grid(-5:0.1:5);
z=cos(x)。*cos(y)。*exp(-sqrt(x.^2+y.^2)/4);
surf(x,y,z);阴影interp
暂停%程序暂停。
i=find(x
以上就是由优质生活领域创作者 嘉文社百科网小编 整理编辑的,如果觉得有帮助欢迎收藏转发~
本文地址:https://www.jwshe.com/670759.html,转载请说明来源于:嘉文社百科网
声明:本站部分文章来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场。