我正在创建一个三角形,如下所示:
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)
通常使用视图矩阵进行平移/旋转/缩放。为什么不这样做?