static void OnTransparencyChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args) { SurfaceModel3D surface = obj as SurfaceModel3D; surface.SetColorFromIndices(); surface.RecreateBuffers(); surface.RequestRender(EventArgs.Empty); }
void SurfacePlot() { // Example surface plot: int nx = 96; int ny = 96; var x2 = MathHelper.MeshGridX(Enumerable.Range(1, nx).Select(t => (double)t - nx / 2), ny); var y2 = MathHelper.MeshGridY(Enumerable.Range(1, ny).Select(t => (double)t - ny / 2), nx); var z2 = x2.Zip(y2, (u, v) => Math.Exp((-u * u - v * v) / 400)); // .NET4 method //var z2 = x2.Select(u => u * u); SurfaceModel3D surface = new SurfaceModel3D(x2, y2, z2, nx, ny); surface.Transparency = 5; surface.MeshLines = MeshLines.None; surface.SurfaceShading = SurfaceShading.Smooth; surfacePlot.Viewport3D.Models.Add(surface); //surfacePlot.LeftLabel.Text = "Left Label"; plot3.BottomLabel.Text = "Bottom Label"; }
static void OnMeshLinesChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args) { SurfaceModel3D surface = obj as SurfaceModel3D; surface.RequestRender(EventArgs.Empty); }