为什么Z尺寸在冲浪功能中反转

时间:2014-07-21 20:44:27

标签: matlab graphics graph plot matlab-figure

看看冲浪的定义,我发现了这个:

surf(X,Y,Z)使用Z作为颜色数据和表面高度。 X和Y是定义表面的x和y分量的矢量或矩阵。如果X和Y是向量,则长度(X)= n且长度(Y)= m,其中[m,n] =大小(Z)。

对我而言,X看起来是第一个,Y是第二个看起来非常违反直觉,但Z在第一个是Y,在尺寸方面是X秒。

拥有代表真实信息的数据,一直处理这个问题真的很骚扰,不得不重新塑造,以便我的数据在我绘制时应该是这样。

任何人对我都有不错的解释?

2 个答案:

答案 0 :(得分:2)

解释可能与您处理矩阵的事实有关。矩阵的第一个索引是指,它与 y (上下)自然相关联。第二个是,对应 x 轴(左右)

无论如何,在Z中交换 x y 所要做的唯一事情就是转置:使用Z.'作为输入surf

(很充足?): - )

答案 1 :(得分:0)

我的理论是Matlab最初是用FORTRAN编写的,它有一个列主要的顺序。

然后它在C中重写,这是行主要的,但为了向后兼容,列主要顺序保留在Matlab矩阵中。

我非常确定3D图形是直接用C语言编写的。天然连接行主要3D基元与列主要Matlab矩阵可能会在冲浪中产生这种反转。

这只是一个理论,但我想证明是错的!

如果我的理论是正确的,那么用于解释为什么meshgrid应该像Matlab文档中那样的卷积使我成为ROTFL:)