MATLAB三維繪圖(一)三維基礎繪圖


MATLAB三維繪圖(一)三維基礎繪圖

  三維圖就是在二維圖的基礎上多增加了一維,實質上在MATLAB中繪制的都是三維圖。簡單看一下二維圖是怎樣變成三維圖的,使用plot3函數可以很清楚的看出來。示例:

%% 簡單理解三維畫圖
clear; clc; close all;
x=0:0.1:5*pi; 
z1=sin(x); 
z2=sin(2.*x); 
z3=sin(3.*x);
y1=zeros(size(x)); 
y3=ones(size(x)); 
y2=y3./2;
plot3(x,y1,z1,'r',x,y2,z2,'b',x,y3,z3,'g');  % 畫出三條不同的直線顯示的是三維圖像
grid on; % 顯示網格
xlabel('x-axis'); ylabel('y-axis'); zlabel('z-axis');

效果顯示:
在這里插入圖片描述
1、使用最簡單的三維畫圖函數plot3來認識一下三維圖。示例1:彈簧圖

%% 螺旋狀圖(彈簧)
clear; clc; close all;
t = 0:pi/50:10*pi;
plot3(sin(t),cos(t),t);  % 使用plot3進行繪制三維曲線圖
grid on;   % 顯示網格
axis square;   % 坐標邊框尺度大小相同

效果顯示:
在這里插入圖片描述
示例2:螺旋圖:

%% 螺旋狀圖(盤香)
clear; clc; close all;
turns = 40*pi;
t = linspace(0,turns,4000);
x = cos(t).*(turns-t)./turns;
y = sin(t).*(turns-t)./turns;
z = t./turns;
plot3(x,y,z); % 使用plot3繪制
grid on;

效果顯示:
在這里插入圖片描述
2、通過meshgrid函數生成網格來比較surf函數和mesh函數的區別,了解meshgrid函數的用法
。示例:

%% 比較surf和mesh的區別
clear; clc; close all;
x = -3.5:0.2:3.5; y = -3.5:0.2:3.5;
[X,Y] = meshgrid(x,y);  % 獲取網格
Z = X.*exp(-X.^2-Y.^2);  % 設定Z的范圍
subplot(1,2,1); 
mesh(X,Y,Z);  % 顯示繪圖的線,但是表格中間沒有填充顏色
title('mesh draw');
subplot(1,2,2); 
surf(X,Y,Z);  % 顯示繪圖的線,表格中間有填充的顏色
title('surf draw');

效果顯示:
在這里插入圖片描述

想了解更多繪圖信息,請看下面博文:
三維:
MATLAB三維繪圖(五)高級三維繪圖
MATLAB三維繪圖(四)繪制特殊的三維圖
MATLAB三維繪圖(三)繪制等值線圖
MATLAB三維繪圖(二)使用隱函數作三維圖

二維:
MATLAB二維繪圖(四)其他特殊的二維繪圖函數介紹及用法
MATLAB二維繪圖(三)操作繪圖句柄顯示特定的效果
MATLAB二維繪圖(二)向圖中添加標題,坐標軸,圖標和文字信息
MATLAB二維繪圖(一)使用plot函數進行簡單繪圖
fill填充函數解析及用法示例


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM