我正在创建一个三角形,如下所示:
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”的顶点?
请在这方面指导我。
谢谢。