实验9 三维绘图
一、实验目的
学会MATLAB软件中三维绘图的方法。
二、实验内容与要求
1.三维曲线图
格式一:plot3(X,Y,Z,S).
说 明:当X,Y,Z均为同维向量时,则plot3描出点X(i),Y(i),Z(i)依次相连的空间曲线.若X,Y均为同维矩阵,X,Y,Z每一组相应列向量为坐标画出一条曲线,S为 ‘color﹣linestyle﹣marker’控制字符表1.6~表1.10.
【例1.79】 绘制螺旋线.
>>t=0:pi/60:10*pi;
>>x=sin(t);
>>y=cos(t);
>>plot3(x,y,t,’*-b’)
>>grid on
图形的结果如图1.16所示.
格式二:comet3(x,y,z).
说明:显示一个彗星通过数据x,y,z确定的三维曲线.
【例1.80】
>>t=-20*pi:pi/50:20*pi;
>>comet3(sin(t),cos(t),t)
可见到彗星头(一个小圆圈)沿着数据指定的轨道前进的动画图象,彗星轨道为整个函数所画的螺旋线.
格式三:fill3(X,Y,Z,C) ℅填充由参数X,Y,Z确定的多边形,参数C指定颜.
图1.16 例1.79图形结果 图1.17 例1.81图形结果
【例1.81】
>>X=[2,1,2;9,7,1;6,7,0];
>>Y=[1,7,0;4,7,9;0,4,3];
>>Z=[1,8,6;7,9,6;1,6,1];
>>C=[1,0,0;0,1,0;0,0,1]
>>fill3(X,Y,Z,C)
>>grid on
图形的结果如图1.17所示.
问题1.30:图1.17中每个三角形按什么规律画出的?(用X,Y,Z的对应列元素值为坐标画三角形)每个三角形内填充的颜又有何规律?(用C第i列元素值对应的颜,从第i个三角形对应顶点向中心过渡)若C=[1,5,10;1,5,10;1,5,10],结果如何?
2.三维网格图
格式: mesh(X,Y,Z,C) ℅画出颜由C指定的三维网格图.
matlab等高线填充颜 meshc(X,Y,Z,C) ℅画出带有等高线的三维网格图.
meshz(X,Y,Z,C) ℅画出带有底座的三维网格图.
说明:若X与Y均为向量,n=length(X),m=length(Y), Z必须满足[m,n]=size(Z),则空间中的点(X(j),Y(i),Z(i,j))为所画曲面网线的交点,X对应于Z的列,Y对应于Z的行;若X,Y,Z均为同维矩阵,则空间中的点(X(i,j),Y(i,j),Z(i,j))为所画曲面的网线的交点;矩阵C指定网线的颜,MATLAB对矩阵C中的数据进行线性处理,以便从当前图中获得有用的颜,若C缺省,网线颜和曲面的高度Z相匹配.
在三维作图常用到命令meshgrid,其功能是生成二元函数z=f(x,y)中x-y平面上的矩形定义域中数据点矩阵X和Y.
格式:[X,Y]= meshgrid(x,y).
说明:输入向量x为x-y平面上x轴的值,向量y为x-y平面上y轴的值.输出矩阵X为x-y平面上数据点的横坐标值,输出矩阵Y为x-y平面上数据点的纵坐标值.
【例1.82】
>> x=1:4;
>> y=1:5;
>> [x,y]=meshgrid(x,y)
x =
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
y =
1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4
5 5 5 5
图1.18所示x-y平面上的矩形定义域中20个数据点(星号点)的坐标就是有X,Y决定的。
【例1.83】绘出带有底座的马鞍面。
>> [x,y]=meshgrid(x,y);
>> z=(x.^2/4^2-y.^2/5^2);
>> x=-8:8;
>> y=-8:8;
>> [X,Y]=meshgrid(x,y);
>>Z=(x.^2/4^2-y.^2/5^2);
>> meshz(X,Y,Z)
图形结果如图1.19所示。
图1.19 例1.83图形结果
问题1.31:将mesh(X,Y,Z)改为mesh(x,y,Z),结果如何?(一样)曲面网格颜有何规律?(从高到低按赤、橙、黄、绿、青、蓝、紫排列)
3.三维曲面图
格式:surf(X,Y,Z,C) %画出颜由C指定的三维曲面图。
Surfc(X,Y,Z,C) %画出带有等高线的三维曲面图。
说明:surf同mesh命令用法和使用格式相同,不同之处在于绘得的图形是一个彩曲面而不是彩网格。C缺省时,数据Z同时为曲面高度,也是颜数据。
【例1.84】绘出带有等高线的理想气体状态方程曲面。
pv=nRT,n=2mol:
>> R=8.31;
>> n=2;
>> p=(1:20)*1e5;
>> v=(1:20)*1e-3;
>> [p,v]=meshgrid(p,v);
>> T=p.*v/n/R;
>> surfc(p,v,T);
>> view(45,30)
图形结果如图1.20所示。
4.三维旋转曲面图
格式:[X,Y,Z]=cylinder(r,n).
说明:返回一母线向量为r、高度为1的旋转曲面x,y,z轴的坐标值, 旋转轴为z轴,旋转曲面的圆周有指定的n个距离相同的点。用户可以用命令surf或命令mesh画出旋转曲面图像。
【例1.85】 绘制一个旋转抛物面/60.
>> z=0:20;
>> R=(60*z).^(1/2);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论