我有3个大小为x = 500
,y = 500
但z = 500*500
的向量。此处z
的高度为-3
到3
。我已使用surf(x,y,z)
显示此内容,但我的问题是在这里我想将其转换为具有相同尺寸x=500
,y=500
,z=500
的3D对象。专家,我该怎么转换呢?
答案 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
编辑:见下图。
在此图片中,有3个不同的x
- 坐标,3个不同的y
- 坐标,但 9 不同的z
- 坐标。因此,3D对象将包含 9 点,通常由 9 ×3坐标表示。
我知道你想要以某种方式将其减少到 3 ×3坐标,或者以某种方式将其表示为 3×3×3 = 27坐标....我只是不要你想要怎么做。
所以,请提供一份清晰简洁的图片,说明你想要什么,我将能够更好地帮助你:)