MATLAB三维图形绘制
RGB三元数组每行表示一种色彩,数组元素R、G、B在 0~1之间取值,分别表示红、绿、蓝基色的相对亮度,如 下表所示。
Байду номын сангаас
• colormap( [R,G,B])—— 色图设定函数
• colormap 色图函数—— 色图设定函数
• colormap 色图函数(m)——产生m×3的色图矩阵
a 缺省64×3。
0
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
0.5
0.5
0.5
0
1
0.62
0.49
1
a
Blue(蓝色) 0 1 0 0 1 0 1 1 0.5 0 0.4
0.83
9
命令 hsv hot cool summer gray copper autumn winter spring bone pink flag jet prim
2、柱面图
语法:
cylinder (r,n)
%以母线向量r生成单位柱面,
默认n=20,r=[1,1]。
[x,y,z]= cylinder (r,n) %生成柱面的x,y,z数据矩阵,
利用suarf或mesh命令产生单位高度柱5 面。
四、立体图形与图轴的控制
1.网格的隐藏
语法:
hidden off hidden on
%显示被遮盖的网格 %隐藏被遮盖的网格
2.改变视角
语法: view([az,el])
%通过方位角和俯仰角改变视角
说明:az表示方位角(azimuth),el表示俯仰角(elevation)
a
6
默认值:az=-37.5°,el=30°
a
7
五、色彩的控制
1.色图(colormap)
(1) RGB三元组
4.2 MATLAB的 三维图形绘制
一、绘制三维线图命令plot3
plot3是用来绘制三维曲线的,它的使用格式与二维 绘图的plot命令很相似。
语法:
plot3(x,y,z, 's') %绘制三维曲线
plot3(x1,y1,z1, 's1',x2,y2,z2, 's2',…)
%绘制多条三维曲线
说明:当x、y、z是同维向量时,则绘制以x、y、z元素为
坐标的三维曲线;当x、y、z是同维矩阵时,则绘制三维
曲线的条数等于矩阵的列数。s是指定线型、色彩、数据
点形的字符串。
a
1
二、绘制三维网格图和曲面图
1. meshgrid命令
为了绘制三维立体图形,MATLAB的方法是将x方向 划分为m份,将y方向划分为n份,meshgrid命令是以x、y 向量为基准,产生在x-y平面的各栅格点坐标值的矩阵。
• colorbar命令
以不同颜色来代表曲面的高度,垂直显示颜色标尺。
a
11
(2) 浓淡处理shading
表4.9 shading命 令 的 用 法
命 令 shadinginterp
shadingflat shadingfaceted
功 能 使 小 片 根 据 四 顶 点 的 颜 色 产 生 连 续 的 变 化 , 或 根 据 网 线 的 线 段 两 端 产 生 连 续 的 变 化 , 这 种 方 式 着 色 细 腻 但 最 费 时 。 小 片 或 整 段 网 线 的 颜 色 是 一 种 颜 色 。 在flat着 色 的 基 础 上 , 同 时 在 小 片 交 接 的 边 勾 画 黑 色 , 这 种 方 式 立 体 表 现 力 最 强 (默 认 方 式 )。
代表“X光片”的颜色对照表
代表粉红色对照表,粉红色线性浓淡色
代表“旗帜”的颜色对照表,红、白、蓝、黑交错色
HSV的变形,以蓝色开始和结束
代表三棱镜对照表,红、橘黄、黄、绿、蓝交错色
a
10
2.色图的显示和处理
(1) 色图的显示
• rgbplot命令
语法: rgbplot(map)
说明:map是表4.8中的各预定义色图函数,rgbplot命令 可画出以行数为自变量红、绿、蓝相对亮度分量的直线 图,反映R、G、B三色比重的变化。
【例】使用浓淡处理peaks函数曲面图。
(3) 亮度处理brighten
语法: brighten(a)
说明:当0<=a<=1时,色图加a 亮,当-1<=a<0时,色图变暗12。
4.3 MATLAB的特殊图形绘制
一、条形图
——条形图常用于对统计的数据进行作图,特别适用于 少量且离散的数据。
语法:
bar(x,y)
8
颜色
Black(黑) White(白) Red(红) Green(绿) Blue(蓝) Yellow(黄) Magenta(品红) Cyan(青) Gray(灰) Dark red(暗红) Copper(铜色) Aquamarine(碧绿)
表4.7 常用颜色的RGB成分
Red(红色)
RGB成分 Green(绿色)
说明:当只有参数z时,以z矩阵的行下标作为x坐标轴,把z
的列下标当作y坐标轴;x、y分别为x、y坐标轴的自变量;
当有x、y、z参数时,c是指定各点的用色矩阵,当c省略时
默认用色矩阵是z的数据。如果x、y、z、c四个参数都有,
则应该都是维数相同的矩阵。
a
3
3. 三维曲面图
语法:
surf (z)
%画三维曲面图
语法: [X,Y]=meshgrid(x,y)
说明:X、Y是栅格点的坐标,为矩阵;x、y为向量。
例如,将x(1×m)向量和y(1×n)向量转换为(n×m)的矩阵:
a
2
2. 三维网格图
三维网格图是由一些四边形相互连接在一起所构成的 一种曲面。
语法:
mesh(z)
%画三维网线图
mesh(x,y,z,c)
表4.8 预定义色图的函数表
说明
HSV的颜色对照表(默认值),以红色开始和结束
代表暖色对照表,黑、红、黄、白浓淡色
代表冷色对照表,青、品红浓淡色
代表夏天色对照表,绿、黄浓淡色
代表灰色对照表,灰色线性浓淡色
代表铜色对照表,铜色线性浓淡色
代表秋天颜色对照表,红、黄浓淡色
代表冬天色对照表,蓝、绿浓淡色
代表春天色对照表,青、黄浓淡色
surf (x,y, z,c)
说明:参数设置与mesh命令相同,c也可以省略。
4. 其它立体网线图和曲面图
meshc命令为立体网状图加等高线;meshz为立体网 状图加“围裙”。
a
4
三、绘制三维旋转体
1、球面图
语法: sphere (n) %产生单位球面,n为旋转圆周上的分 格线条数,默认n=20。 [x,y,z]=sphere (n) %生成三个(n+1)*(n+1 )阶的矩阵 利用surf或mesh命令产生单位球面。