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) 根據曲面斜率大小附加顏色數據