《1.3三维绘图(改3).pdf》由会员分享,可在线阅读,更多相关《1.3三维绘图(改3).pdf(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、athematical Experimentsathematical Experiments MATLAMATLAMATLAMATLAMATLAMATLAMATLAMATLA ABAB简介简介简介简介ABAB简介简介简介简介ABAB简介简介简介简介ABAB简介简介简介简介 三维图形三维图形 三维图形三维图形 常言说得好,“一图胜 Mathematical LaboratoryMathematical Laboratory 胜千言”。 主要内容主要内容 A A A A 绘制三维空间绘制三维空间 曲线曲线 绘制三维绘制三维 曲面曲面曲线曲线曲面曲面 Mathematical LaboratoryM
2、athematical Laboratory B B B BC C C C 维空间维空间 面面 等高线等高线 面面 如何绘制三维空间曲线如何绘制三维空间曲线 函数plot3(x,y,z) 将坐标点 以作出空间曲线以作出空间曲线 例:作螺旋线 x=sint, y=cost, z=tz=t 键入: t 0i/50 10* it=0:pi/50:10*pi; Plot3(sin(t), cos(t),t); 线线 Mathematical LaboratoryMathematical Laboratory 点(x,y,z)依次用直线段连接,可 40 30 40 10 20 0 0.5 1 0 5 0
3、 0.5 1 0 -1 -0.5 -1 -0.5 如何绘制三维空间曲线如何绘制三维空间曲线 plot3 基本的三维曲线基本的三维曲线绘绘 调用格式:调用格式: l3()是长度相plot3(x,y,z) x,y,z是长度相 plot3(X Y Z) X Y Z是维数plot3(X,Y,Z) X,Y,Z是维数 plot3(x,y,z,s) 开关量字符 图方式,与plot一样 plot3(x y z s x y z s plot3(x1,y1,z1,s1, x2,y2,z2,s2, 线线 Mathematical LaboratoryMathematical Laboratory 绘绘制命令制命令
4、相同的向量相同的向量 数相同的矩阵数相同的矩阵 符串s用来设定曲线颜色和绘 ) 如何绘制三维空间曲线如何绘制三维空间曲线 二维图形的所有基本特性对二维图形的所有基本特性对二维图形的所有基本特性对二维图形的所有基本特性对 坐标系控制坐标系控制 如:axis(xminxmaxyminyma grid on(off) 绘制(取消 维图形标注维图形标注 三三维图形标注维图形标注 子图也可以用到三维图形中子图也可以用到三维图形中 子图也可以用到三维图形中子图也可以用到三维图形中 线线 Mathematical LaboratoryMathematical Laboratory 对三维图形全都适用对三维图
5、形全都适用对三维图形全都适用对三维图形全都适用。 ax zminzmax) 消)三维坐标网格线 中中中中 如何绘制三维空间曲线如何绘制三维空间曲线 1 0.5 -0 5 0 -5 0 5 10 -5 0 5 10 0.5 -10 -10 mesh(X,Y,Z) Mathematical LaboratoryMathematical Laboratory线线 1 0.5 1 0 0 5 10 5 0 5 10 -0.5 -10 -5 -10 -5 surf(X,Y,Z) 如何绘制三维空间曲面如何绘制三维空间曲面 空间曲面绘制的三个基本步骤 1. 生成平面网格 2. 计算网格点上函数值 3 绘制网
6、面3. 绘制网面 生成平面网格点命令 X, Y=meshgrid(x, y) ,g( , y) Mathematical LaboratoryMathematical Laboratory面面 骤 20 30 40 2 42 4 0 10 -4 -2 0 2 -4 -2 0 如何绘制三维空间曲面如何绘制三维空间曲面 例:作出二元函数f=x2+y2的图形例:作出二元函数f=x +y 的图形。 clf, x=-4:4;y=x; X,Y=meshgrid(x,y);%生成 x-y 坐X,Y meshgrid(x,y);%生成 x y 坐 Z=X.2+Y.2;%计算格点上的函数 surf(X,Y,Z)
7、; Mathematical LaboratoryMathematical Laboratory面面 20 30 40 2 42 4 0 10 标“格点”矩阵 -4 -2 0 2 -4 -2 0 标 格点 矩阵 数值 如何绘制三维空间曲面如何绘制三维空间曲面 命令: X,Y=meshgrid(x,y) y Mathematical LaboratoryMathematical Laboratory xx=1:5;x=1:5; y=1:3;y=1:3;y 1:3;y 1:3; X,Y=X,Y=meshgridmeshgrid( (x,yx,y) ) X =X = 1 2 3 4 51 2 3 4
8、 5 1 2 3 4 51 2 3 4 51 2 3 4 51 2 3 4 5 1 2 3 4 51 2 3 4 5 Y =Y = 1 1 1 1 11 1 1 1 1 2 2 2 2 22 2 2 2 2 3 3 3 3 33 3 3 3 3 如何绘制三维空间曲面如何绘制三维空间曲面 例:作出二元函数f=x2+y2的图形。 clf, x=-4:4;y=x;y X,Y=meshgrid(x,y); %生成 x-y 坐标 Z X 2+Y2%计算格点上的函数Z=X.2+Y.2;%计算格点上的函数 surf(X,Y,Z); hold on, colormap(hot)colormap(hot) st
9、em3(X,Y,Z,bo)%用来表现 hold off Mathematical LaboratoryMathematical Laboratory面面 40 10 20 30 标“格点”矩阵 数值 4 -2 0 2 4 -4 -2 0 2 4 0 数值 -4 -4 现在格点上计算函数值 如何绘制三维空间曲面如何绘制三维空间曲面 例例在某山的平面区域在某山的平面区域例例:在某山的平面区域在某山的平面区域0 内内,横向纵向分别每隔横向纵向分别每隔400内内,横向纵向分别每隔横向纵向分别每隔400 地点的高程如下,试作出地点的高程如下,试作出山山 z=370 470 550 600 670 690
10、 670 620 580 45 510 620 730 800 850 870 850 780 720 6 650 760 880 970 1020 1050 1020 830 90 740 880 1080 1130 1250 1280 1230 104 830 980 1180 1320 1450 1420 1400 130830 980 1180 1320 1450 1420 1400 130 880 1060 1230 1390 1500 1500 1400 90 910 1090 1270 1500 1200 1100 1350 14 950 1190 1370 1500 1200
11、1100 1550 16950 1190 1370 1500 1200 1100 1550 16 1430 1430 1460 1500 1550 1600 1550 1600 1420 1430 1450 1480 1500 1550 1510 1430 1380 1410 1430 1450 1470 1320 1280 1200 y 1370 1390 1410 1430 1440 1140 1110 1050 1350 1370 1390 1400 1410 960 940 880 80 y Mathematical LaboratoryMathematical Laboratory面
12、面 =x=5600, 0=y=4800 0米测量米测量一一次次,得到得到一一些些0米测量次米测量次,得到些得到些 山山形图。形图。 50 400 300 100 150 250; x ; 650 500 200 300 350 320; 00 700 300 500 550 480 350; 40 900 500 700 780 750 650 550; 00 700 900 850 840 380 780 75000 700 900 850 840 380 780 750; 00 1100 1060 950 870 900 930 950; 450 1200 1150 1010 880 10
13、00 1050 1100; 00 1550 1380 1070 900 1050 1150 1200;00 1550 1380 1070 900 1050 1150 1200; 0 1600 1600 1550 1500 1500 1550 1550; 0 1300 1200 980 850 750 550 500; 0 1080 940 780 620 460 370 350; 0 950 820 690 540 380 300 210; 00 690 570 430 290 210 150; 如何绘制三维空间曲面如何绘制三维空间曲面 例:例: x=0:400:5600;x=0:400:56
14、00; y=0:400:4800;y=0:400:4800; z=370 470 550 600 670 690 670 620 580 450 400 510 620 730 800 850 870 850 780 720 650 500 650 760 880 970 1020 1050 1020 830 900 700 65060 880 9 00 00500 0 830 90000 740 880 1080 1130 1250 1280 1230 1040 900 5 830 980 1180 1320 1450 1420 1400 1300 700 9 880 1060 1230 1
15、390 1500 1500 1400 900 1100 910 1090 1270 1500 1200 1100 1350 1450 120 950 1190 1370 1500 1200 1100 1550 1600 155 1430 1430 1460 1500 1550 1600 1550 1600 1600 1420 1430 1450 1480 1500 1550 1510 1430 13001420 1430 1450 1480 1500 1550 1510 1430 1300 1380 1410 1430 1450 1470 1320 1280 1200 1080 1370 13
16、90 1410 1430 1440 1140 1110 1050 950 8 1350 1370 1390 1400 1410 960 940 880 800 690 meshz(x,y,z); rotate3d,rotate3d, figure(2) surf(x,y,z),rotate3drotate3d Mathematical LaboratoryMathematical Laboratory面面 300 100 150 250; 0 200 300 350 320; 300 500 550 480 350;300 500 55080 350; 500 700 780 750 650
17、550; 900 850 840 380 780 750; 0 1060 950 870 900 930 950; 00 1150 1010 880 1000 1050 1100; 50 1380 1070 900 1050 1150 1200; 1600 1550 1500 1500 1550 1550; 1200 980 850 750 550 500;1200 980 850 750 550 500; 940 780 620 460 370 350; 820 690 540 380 300 210; 570 430 290 210 150; 如何绘制三维空间曲面如何绘制三维空间曲面 例:
18、 1200 1400 1600 3000 3500 4000 4500 5000 200 400 600 800 1000 0 1000 2000 3000 4000 5000 6000 0 500 1000 1500 2000 2500 3000 0 meshz(x,y,z) Mathematical LaboratoryMathematical Laboratory面面 1500 2000 0 1000 2000 3000 4000 5000 0 500 1000 1000 2000 3000 4000 5000 6000 0 1000 2000 surf(x,y,z) 如何绘制三维空间曲
19、面如何绘制三维空间曲面 例: 1500 2000 5 500 1000 0 1000 2000 3000 4000 5000 1000 2000 3000 4000 5 0 5000 6000 0 surfc(x,y,z) 带等高线的曲面图带等高线的曲面图 Mathematical LaboratoryMathematical Laboratory面面 1500 2000 50000 500 1000 1500 5000 0 2000 4000 60000 1000 2000 3000 4000 500005000 surfl(x,y,z) 被光照射带阴影的曲面被光照射带阴影的曲面 如何绘制三
20、维空间曲面如何绘制三维空间曲面 图形修饰方法图形修饰方法 ? shading faceted 网格修 ? shading flat去掉黑? shading flat 去掉黑 2000 500 1000 1500 shading flatshading flat 0 100 0 500 shadingshading flatflat Mathematical LaboratoryMathematical Laboratory面面 修饰,缺省方式 黑色线条根据小方块的值确定颜色黑色线条,根据小方块的值确定颜色 00 2000 3000 2000 3000 4000 5000 3000 4000 5
21、000 6000 0 1000 如何绘制三维空间曲面如何绘制三维空间曲面 图形修饰方法图形修饰方法 h d颜色? shading interp 颜色 值差补过度点的值确定颜色 shading interpshading interpshadingshading interpinterp Mathematical LaboratoryMathematical Laboratory面面 色整体改变根据小方块四角的色整体改变,根据小方块四角的 色 如何绘制三维空间曲面如何绘制三维空间曲面 图形修饰方法图形修饰方法 ?l(MAP)色图? colormap(MAP) 色图 需要任意生成,也可用ma sh
22、ading interp;shading interp; colormap(hot); colorbar colormap(hot); colorbar Mathematical LaboratoryMathematical Laboratory面面 图设定函数图形颜色可根据图设定函数,图形颜色可根据 atlab配备的色图函数 如何绘制三维空间曲面如何绘制三维空间曲面 图形修饰方法图形修饰方法 ?l(MAP)色图? colormap(MAP) 色图 图形颜色可根据需要任意生成图形颜色可根据需要任意生成 shading interp;shading interp; l l(l)(l)cocol
23、lormapormap( (coocool)l) colorbarcolorbar Mathematical LaboratoryMathematical Laboratory面面 图设定函数图设定函数, 成,也可用matlab配备的色图函数成,也可用matlab配备的色图函数 如何绘制三维空间曲面如何绘制三维空间曲面 matlabmatlab 的色图函数的色图函数:matlabmatlab 的色图函数的色图函数: hsv 饱和值色图hsv 饱和值色图 gray 线性灰度色图gray 线性灰度色图 hot 暖色色图hot 暖色色图 cool 冷色色图cool 冷色色图 b b兰色调灰色图兰色调
24、灰色图b bone one 兰色调灰色图兰色调灰色图 Mathematical LaboratoryMathematical Laboratory面面 copper 铜色色图copper 铜色色图 pink 粉红色图pink 粉红色图 prism 光谱色图prism 光谱色图 j j饱和值色图饱和值色图IIIIj jet et 饱和值色图饱和值色图IIII flagflag 红红白白蓝交替色图蓝交替色图flagflag 红红、白白、蓝交替色图蓝交替色图 如何绘制等高线如何绘制等高线 二维等高线二维等高线二维等高线二维等高线 contour(X,Y,Z,n)-绘( , , , )绘 C,h=co
25、ntour(X,Y,Z,n) - 阵C和图形对象的句柄向量. l b l( C h)给等高线clabel( C,h)-给等高线 Mathematical LaboratoryMathematical Laboratory 制n条等高线制 条等高线 - 返回等高线矩 加标注加标注 如何绘制等高线如何绘制等高线 例例: : 作出由作出由MATLABMATLAB的函数的函数peakspeaks例例: : 作出由作出由MATLABMATLAB的函数的函数peakspeaks 键入: X,Y,Z=peaks(30); sur figure(2); %打开2号图 C,h= contour(X,Y,Z, %
26、 绘制16条等高线,返回等高 clabel(C,h) % 给等高线 figure(3); %打开3号图 contour3(X,Y,Z,16); % Mathematical LaboratoryMathematical Laboratory 产生的曲面数据的等值线图产生的曲面数据的等值线图。产生的曲面数据的等值线图产生的曲面数据的等值线图。 rf(X,Y,Z) 形窗口 16); 高线矩阵C和图形对象的句柄h 线加上高度的标注 形窗口 绘制16条三维等高线 如何绘制等高线如何绘制等高线 5 10 5 0 -10 -5 -2 0 2 -2 -1 0 1 2 3 -3 返返回回返返回回 小结小结 基本三维绘基本三维绘基本三维绘基本三维绘 画曲线:plot3 画曲面 mesh, meshz mmeshz,m A B Mathematical LaboratoryMathematical Laboratory 绘图函数绘图函数绘图函数绘图函数 画等高线: 面: surf meshc 画等高线: contour contour3 meshc clabel C ThaThaThaThanksnksnksnks