數(shù)學(xué)計(jì)算人員需要通過繪制三維圖形或者四維圖形給人們提供一種更直接的表達(dá)方式,可以使人們更直接、更清楚地了解數(shù)據(jù)的結(jié)果和本質(zhì) 。
MATLAB語言提供了強(qiáng)大的三維和四維繪圖命令 。
學(xué)習(xí)目標(biāo):
(1)了解三維圖形的繪制;
(2)理解特殊三維圖形的繪制方法;
(3)掌握三維圖形顯示函數(shù)和控制;
(4)了解四維圖形的可視化 。
1|創(chuàng)建三維圖形
三維圖形視覺上層次分明、色彩鮮艷,具有很強(qiáng)的視覺沖擊力,讓觀看的人駐景時(shí)間長(zhǎng),并留下深刻的印象 。三維圖形給人以真實(shí)、栩栩如生的感覺,有很高的藝術(shù)欣賞價(jià) 值 。
1.1|三維圖像函數(shù)
繪制三維圖形時(shí)常用的命令函數(shù):
plot3:繪制三維曲線圖形;
stem3: 繪制三維枝干圖;
grid on: 打開坐標(biāo)網(wǎng)格;
grid off: 關(guān)閉坐標(biāo)網(wǎng)格;
hold: 在原有圖形上添加圖形;
hold on: 保持當(dāng)前圖形窗口內(nèi)容;
hold off: 解除當(dāng)前保持狀態(tài) 。
【例1】當(dāng)輸入?yún)?shù)是向量(x,y,z)時(shí),利用plot3(x,y,z)生成三維曲 線 。
程序命令如下:
clc;closeall; clear all; t=0:pi/50:9*pi; %定義t的范圍 plot3(log(t),cos(t),t); %畫出三維線狀圖 axis square; %使各坐標(biāo)軸的長(zhǎng)度相等 grid on % 打開坐標(biāo)網(wǎng)格線 運(yùn)行結(jié)果如圖1所示:

文章插圖
圖1
1.2 三維曲線圖
plot3是基本的繪圖命令,它把數(shù)學(xué)函數(shù)用曲線描繪出來 。當(dāng)輸入?yún)?shù)是向量(x,y,z),則plot3(x,y,z)生成一條通過各個(gè)(x,y,z)點(diǎn)的曲線;當(dāng)輸入?yún)?br /> 數(shù)是三個(gè)維數(shù)相同的矩陣X、Y、Z,plot3(X,Y,Z)將繪制X、Y、Z每一列的數(shù)據(jù)曲線 。
【例2】 用plot3繪制三維曲線圖 。
clc; closeall; clear all; x = -6:0.3:6; y = 6:-0.3:-6; z = log(-0.15*y).*cos(x); [X,Y] = meshgrid(x,y); %網(wǎng)格 Z = exp(-0.15* y).*cos(x); figure subplot(2,1,1) plot3(x,y,z,'or',x,y,z); subplot(2,1,2) plot3(X,Y,Z) 運(yùn)行結(jié)果如圖2

文章插圖
圖2
【例3】 當(dāng)輸入?yún)?shù)是矩陣X、Y、Z時(shí),plot3(X,Y,Z)生成的三維曲線 。
程序命令如下:
clc; closeall; clear all;theta = 0:.02*pi:2*pi;x = sin(theta);y = log(theta);z = cos(2*theta);figureplot3(x,y,z,'LineWidth',2)hold on;theta = 0:0.01*pi:2*pi;x = sin(theta);y = log(theta);z = cos(3*theta);plot3(x,y,z,'rd','MarkerSize',10,'LineWidth',2)grid on 結(jié)果見圖3:
【從零開始教你學(xué)會(huì)畫三維圖像 matlab如何繪制三維函數(shù)圖像】

文章插圖
圖3
【例4】plot3指令使用示例 。
程序命令如下:
clc; closeall; clear all;theta = 0:.02*pi:2*pi;x = sin(theta);y = log(theta);z = cos(2*theta);figureplot3(x,y,z,'LineWidth',2)hold on;theta = 0:0.01*pi:2*pi;x = sin(theta);y = log(theta);z = cos(3*theta);plot3(x,y,z,'rd','MarkerSize',10,'LineWidth',2)grid on 運(yùn)行結(jié)果如圖4所示 。

文章插圖
圖4
1.3 三維曲面圖
當(dāng)矩陣過大用數(shù)字形式難以表示時(shí),繪制曲面圖形將十分有用 。MATLAB用xy平面內(nèi)矩形網(wǎng)格中的點(diǎn)的z坐標(biāo)來定義曲面,曲面圖形由連接相鄰的曲線組成 。
MATLAB可以生成網(wǎng)格圖和面狀圖兩種形式的曲面圖,網(wǎng)格圖是一種只對(duì)連接曲線著色的曲面圖,面狀圖是對(duì)連接線及連接線構(gòu)成的表面都進(jìn)行著色 。
函數(shù)命令如下:
mesh: 繪制三維網(wǎng)格圖;
meshc: 繪制帶有基本等高線的網(wǎng)格圖;
meshz: 繪制帶有基準(zhǔn)平面的網(wǎng)格圖;
surf: 繪制面狀圖
surfl: 繪制設(shè)定光源方向的面狀圖;
shding interp 和 shading flat: 把曲面上的小格平滑掉,使曲面成為光滑表面;
shding faceted: 是默認(rèn)狀態(tài),曲面上有小格 。
【例5】 繪制三維網(wǎng)格圖 。
程序命令如下:
clc;closeall;clear;x=-10:0.5:10;y=x;[X,Y]=meshgrid(x,y); %生成網(wǎng)格點(diǎn)坐標(biāo)R=log(X.^2+Y.^2);Z=cos(R);subplot(1,3,1); mesh(Z); title('mesh');%畫網(wǎng)格圖subplot(1,3,2);meshz(Z); title('meshz');%畫基準(zhǔn)網(wǎng)格圖subplot(1,3,3);meshc(Z); title('meshc');% 畫登高線網(wǎng)格圖 運(yùn)行結(jié)果如圖5所示 。

文章插圖
圖5
【例6】 運(yùn)用mesh、meshc、meshz繪制三維網(wǎng)格圖 。
程序命令如下:
clc;closeall;clear; x=-10:0.5:10; y=x; [X,Y]=meshgrid(x,y); %生成網(wǎng)格點(diǎn)坐標(biāo) R=log(X.^2+Y.^2);Z=cos(R); subplot(1,3,1); mesh(Z); title('mesh');%畫網(wǎng)格圖 subplot(1,3,2);meshz(Z); title('meshz');%畫基準(zhǔn)網(wǎng)格圖 subplot(1,3,3);meshc(Z); title('meshc');% 畫登高線網(wǎng)格圖 運(yùn)行結(jié)果如圖6所示 。

文章插圖
圖6
【例7】 使用surfl命令 。
程序命令如下:
clc;closeall; clear;z=peaks(10); surfl(z); %畫指定光源方向的面狀圖shadinginterp;%是曲面平滑colormap(hsv)%設(shè)定顏色 運(yùn)行結(jié)果如圖7所示 。

文章插圖
圖7
【例8】 繪制三維曲面圖 。
程序命令如下:
clc;close all; clear; [m,n]=meshgrid(-5:0.5:5); z=-2*m.^2-3*n.^2; subplot(2,2,1);mesh(m,n,z);title('mesh'); subplot(2,2,2);surf(m,n,z);title('surf'); subplot(2,2,3);surfc(m,n,z);title('surfc'); subplot(2,2,4);surfl(m,n,z);title('surfl'); 運(yùn)行結(jié)果如圖8所示 。

文章插圖
圖8
推薦閱讀
- 從大阪到有馬溫泉怎么坐車
- 從廈門國(guó)際會(huì)展中心怎么去鼓浪嶼
- 梅花香自苦寒來寶劍鋒從磨礪出 梅花香自苦寒來
- 送給對(duì)象的祝福
- 紅蘿卜怎么儲(chǔ)存 紅蘿卜如何儲(chǔ)存
- 從龍華大浪路口去歡樂谷
- 大學(xué)生體能測(cè)試的目的是什么
- 6歲男孩生日祝福語
- 如何連接妙智門wifi
- 名人故事班超投筆從戎,投筆從戎的班超故事
