2014-03-14 40 views
0

我有3個載體,大小爲x = 500y = 500,但是z = 500*500。這裏z是從-33的高度。我已經使用surf(x,y,z)顯示了這個,但是我的問題是在這裏我想將它轉換爲具有相同尺寸x=500,y=500,z=500的3D對象。專家,我該如何轉換?如何使用matlab將衝浪轉換爲3D對象

回答

1

help surf

SURF(X,Y,Z)和SURF(X,Y,Z,C),具有兩個向量參數替換 前兩個矩陣參數,必須具有長度(X )= n和 長度(y)= m其中[m,n] =大小(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 

EDIT:見下面的圖像。

enter image description here

在該圖像中,有3個不同的座標 - x,3個不同的座標 - y,但不同z座標 - 。 3D對象因此將包含點,通常由×3座標表示。

我知道你想要麼在某種程度上減少這×3座標,或以某種方式代表它作爲3×3×3 = 27個座標....我只是不明白怎麼想要這樣做。

因此,請提供你想要的清晰和簡單的圖片,我就可以幫你更好:)

+0

我都試過,但我已經越來越XYZ的尺寸爲[250000 1] ...其實我需要[500 500 500]。如何得到 ? – Damo

+0

@Dams:然後跳過最後一步... –

+0

我跳過了最後一步,x尺寸爲500 * 500,y尺寸爲500 * 500,z尺寸爲500 * 500,但我需要x = 500,y = 500和z = 500,這樣我就可以得到一個尺寸爲[500 500 500]的3D物體。 – Damo