2024年3月9日发(作者:)

实验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】

1

>>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指定的三维网格图.

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