- 1、本文档共56页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB 三维绘图功能和技术讲解;二维图形
三维图形
图形色彩处理
句柄图形技术
图像显示技术
动画制作;三维绘图;(一)三维曲线图;二维图形的所有基本特性对三维图形全都适用。
定义三维坐标轴大小
axis([xmin xmax ymin ymax zmin zmax ])
grid on(off) 绘制三维网格
text(x,y,z,‘string’) 三维图形标注
子图和多窗口也可以用到三维图形中
;例:绘制三维线图
>>t=0:pi/50:10*pi;
>>plot3(t,sin(t),cos(t),'r:');例:绘制螺旋线
x=cos(t) y=sin(t) z=t 0≤t ≤4*pi
>> t=0:0.001:4*pi;
>> x=cos(t);y=sin(t);z=t;
>> plot3(x,y,z)
>> xlabel('x轴'),ylabel('y轴'),zlabel('z轴')
>> grid on;(二) 三维饼图pie3([4 3 6 8 9]);(三)三维多边形;例: 用随机顶点坐标画出5个粉色的三角形,并用黄色的○表示顶点
>>y1=rand(3,5);y2=rand(3,5);y3=rand(3,5);
>>fill3(y1,y2,y3,'m');hold on;plot3(y1,y2,y3,'yo');(四)三维网格图;1、mesh —— 三维网线绘图函数
调用格式:
mesh(z) —— z为n×m的矩阵,x与y坐标为元素的下标
mesh(x,y,z) —— x, y, z分别为三维空间的坐标位置
;例,矩阵的三维网线图
>>z=rand(6);
>>z=round(z);
>>mesh(z);;例:8阶hadamard矩阵的网线图;MATLAB三维绘图功能和技术讲解;2、meshgrid—— 网线坐标值计算函数
meshgrid用于从数组a和b产生网格。生成的网格矩阵A和B大小是
相同的。
[A,B]= meshgrid(a,b)生成size(b)Xsize(a)大小的矩阵A和B。这些
矩阵表示整个矩形区域内的x和y坐标。
它相当于a从一行重复增加到size(b)行,把b转置成一列再重复增加到
size(a)列。因此命令等效于:A=ones(size(b))*a;B=b'*ones(size(a))
>> a=[1:2]
>> b=[3:5]
>> [A,B]=meshgrid(a,b)
A = B =
???? 1???? 2 3???? 3
?1???? 2 4???? 4 1???? 2 5???? 5
>> [B,A]=meshgrid(b,a)? ???? ????;
z=f(x,y) — 根据x,y坐标找出z的高度
例:绘制z=x2+y2的三维网线图形
>>x=-5:5; y=x;
>>[X,Y]=meshgrid(x,y);
>>Z=X.^2+Y.^2 ;
>>mesh(X,Y,Z)
;MATLAB三维绘图功能和技术讲解;(五)三维曲面图;调用格式:
surf(x,y,z) —— 绘制三维曲面图,x,y,z为图形坐标向量
peaks 函数
为了方便测试立体绘图,MATLAB提供了一个peaks函数,可产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点,其方程式为:
z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) ...
- 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) ...
- 1/3*exp(-(x+1).^2 - y.^2)
>> [x,y,z]=peaks;
>> mesh(x,y,z)
>>surf(x,y,z) ;MATLAB三维绘图功能和技术讲解; surfc(X,Y,Z) — 带等高线的曲面图
[X,Y,Z]=peaks(30);surfc(X,Y,Z); surfl(X,Y,Z) —— 被光照射带阴影的曲面图
[X,Y,Z]=peaks(30);surfl(X,Y,Z); cylinde(r
文档评论(0)