matlab的四维图像数据可视化

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


猜你喜欢

转载自blog.csdn.net/weixin_44363881/article/details/102624729