如何使用matlab将冲浪转换为3D对象

时间:2014-03-14 05:11:41

标签: matlab surf

我有3个大小为x = 500y = 500z = 500*500的向量。此处z的高度为-33。我已使用surf(x,y,z)显示此内容,但我的问题是在这里我想将其转换为具有相同尺寸x=500y=500z=500的3D对象。专家,我该怎么转换呢?

1 个答案:

答案 0 :(得分:1)

来自help surf

  

SURF(x,y,Z)和SURF(x,y,Z,C),两个矢量参数替换       前两个矩阵参数必须有长度(x)= n和       length(y)= m其中[m,n] = size(Z)。在这种情况下,顶点       表面贴片的三元组是三元组(x(j),y(i),Z(i,j))。       注意,x对应于Z的列,y对应于       行。

因此:

[x,y] = meshgrid(x,y);      %// replicate vectors appropriately
xyz   = [x(:) y(:) z(:)];   %// make [X,Y,Z] triplets

编辑:见下图。

enter image description here

在此图片中,有3个不同的x - 坐标,3个不同的y - 坐标,但 9 不同的z - 坐标。因此,3D对象将包含 9 点,通常由 9 ×3坐标表示。

我知道你想要以某种方式将其减少到 3 ×3坐标,或者以某种方式将其表示为 3×3×3 = 27坐标....我只是不要你想要怎么做

所以,请提供一份清晰简洁的图片,说明你想要什么,我将能够更好地帮助你:)