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) 根据曲面斜率大小附加颜色数据