2012-10-16 35 views
0

我創建一個三角形如下:如何翻譯/重繪使用一組新的點的三角形幾何形狀的3D

meshBuilder.AddTriangle(new Point3D(x, y, z)); 
var mesh = meshBuilder.ToMesh(true); 

myTrianglegeometry = new GeometryModel3D(); 
myTrianglegeometry.Material = greenMaterial; 
myTrianglegeometry.BackMaterial = yellowMaterial; 
myTrianglegeometry.Geometry = mesh; 
modelGroup.Children.Add(myTrianglegeometry); 

myModelVisual3D = new ModelVisual3D(); 
myModelVisual3D.Content = modelGroup; 

現在我的程序更新的X,Y和Z值。所以,我爲x,y,z的每次更新調用上面的代碼,每次更新一組新的x,y,z時都會創建一個新的三角形。這工作但計算非常密集,並導致UI響應非常緩慢。

爲了避免這種情況,我應該如何重新繪製/重新定位「myTrianglegeometry」到x,y,z的新值而不是創建新的三角形?是否可以更改「myTrianglegeometry」的頂點?

請在這方面指導我。

謝謝。

+0

任何人都可以請指導我如何重新定位三角形形狀到一組新的點?我的程序正在更新我用來繪製三角形的三個點的位置。現在如何將三角形重新定位到新的一組點? –

回答

0

通常您使用視圖矩陣來轉換/旋轉/縮放。爲什麼不這樣做?