[英]How to convert surf to 3D object using matlab
我有3個向量,大小為x = 500
, y = 500
但z = 500*500
。 z
是從-3
到3
高度。 我已經使用surf(x,y,z)
顯示了它,但是我的問題是在這里我想將其轉換為大小為x=500
, y=500
, z=500
3D對象。 專家,我該如何轉換?
從help surf
:
SURF(x,y,Z)和SURF(x,y,Z,C),其中兩個向量自變量替換了前兩個矩陣自變量,必須具有length(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坐標....我只是不知道您想怎么做。
因此,請提供您想要的清晰清晰的圖片,我們將為您提供更好的幫助:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.