2012-10-12 79 views
2

我有一個歸一化矢量陣列(其中1538個)形成一個球體。我也有同樣的尺寸1538的數字陣列我要繪製這樣的事情:如何將矢量列表繪製爲球體?

enter image description here

我試過spheresurf功能,但我不能找到一種方法,用我的矢量。我想應該有辦法做到這一點。

非常感謝。

+1

你有沒有在這太問題看:HTTP:/ /stackoverflow.com/questions/11140328/plot-3-vectors-in-3d? – bla

+0

嗨。我想我以前見過。但我的問題是,我有的向量是3D,我只是想要顏色映射到其他數組。不管怎麼說,還是要謝謝你! – jagttt

回答

5

我認爲你可以使用delaunay創建一個三角測量和繪圖,使用trimeshtrisurf

trimesh as trisurf接受第四個參數來指定每個頂點的顏色,添加選項'facecolor','interp'以插入頂點之間的每個面的顏色。

編輯:我對它進行了一些嘗試,因爲它是一個球體,我認爲convhull更適合。

例子:

[x,y,z]=sphere(25); 
x=x(:);y=y(:);z=z(:); 

tri = convhull([x y z]); 
C = cos(y); 
trisurf(tri,x,y,z,C,'facecolor','interp'); 

trisurf_colored

,而不是C的例子,你可以用你自己的價值觀的載體指定顏色

+1

添加'axis equal'並且您完成了 –

+0

在我的測試代碼中執行了此操作,因此它在此處將其刪除,因爲它不會增加很多 –

+0

是的,convhull是正確的。 delaunay tessellation的表面是凸包,但tessellation是三維物體,trisurf不會使用。 – 2012-10-12 10:02:17