matlab的四維圖像數據可視化

原文鏈接:https://blog.csdn.net/MATLAB_matlab/article/details/53892569

1.顏色來表示第四維

前面已經學了三維圖形可視化,所謂三維就是指x軸,y軸,z軸組成了我們的三維,那麼第四維用什麼來表示呢,我們這裏要用顏色來表示第四維,所謂四維圖形可視化就是在三維圖形可視化的基礎上,加上一個顏色維度,在三維圖形可視化中我們也已經用到過顏色維度,mesh和surf等指令在繪製圖像時,如果我們沒有給出顏色參量的情況下,圖形的顏色是沿着z軸的數據變化的。例如surf(X,Y,Z)和surf(X,Y,Z,Z)兩個指令是相同的,在這裏的顏色維度是和z軸的數據決定的,因爲z軸已經純在,顏色並不能給我們提供新的信息,所有這種所謂的顏色維度並不能算是第四維。我們可以使用不受3個軸影響的顏色來描述數據的某些屬性,這纔算是真正的第四維。我們只需要在三維作圖的基礎上給它加上不受3個軸影響的顏色參量作爲第四維,這就是四維圖形可視化。

顏色參量可以是任何實向量或與其他參量維數相同的矩陣。


示例

 [X,Y,Z]=peaks(30);                          %峯函數,peaks(30)是產生30×30的guassian分佈矩陣
R=sqrt(X.^2+Y.^2);                      %生成顏色參量

subplot(1,2,1);                           

surf(X,Y,Z,Z);                                      % surf(X,Y,Z)=surf(Z,Y,Z,Z);
axis tight                                      %調整座標和你輸入的數據範圍一致
 subplot(1,2,2);surf(X,Y,Z,R);     %在三維繪圖指令中加入新的顏色參量就編程了思維繪圖函數了
axis tight                                      %調整座標和你輸入的數據範圍一致

在左圖中,第四維數據是Z,因爲我們已經有Z了,這並不能算是真正的第四維。右圖中,第四維數據是R,可以看到兩幅圖的顏色發生了明顯變化。


2.其他函數

 除了surf函數外,mesh和pclolr函數也可以將第四維的數據附加到顏色屬性上,並在圖形中表示出來。

其他指令的句法和功能

句法格式                                          說明

surf(X,Y,Z,fun(X,Y,Z))       根據函數fun(X,Y,Z)來附加顏色數據

surf(X,Y,Z)=surf(X,Y,Z,Z)  默認動作,附加顏色數據與z軸

surf(X,Y,Z,X)                             附加顏色數據與x軸

surf(X,Y,Z,Y)                             附加顏色數據與y軸

surf(X,Y,Z,X.^2+Y.^2)               xoy平面上距遠點一定的距離附加顏色數據

surf(X,Y,Z,del2(Z))          根據曲面的拉氏函數值附加顏色數據

[dZdx,dZdy]=gradient(Z);surf(X,Y,Z,abs(dZdz))   根據x軸方向的曲面斜率附加顏色數據

dz=sqrt(dZdx.^2+dZdy.^2);surf(X,Y,Z,dz)    根據曲面斜率大小附加顏色數據


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章