private void NewFigure(object sender, RoutedEventArgs e) { var sphere = new SphereModel3D { Radius = random.NextDouble() * 3 + 0.1, Center = new Point3D(0, 0, 0), Material = new Color { R = (byte)random.Next(0, 256), G = (byte)random.Next(0, 256), B = (byte)random.Next(0, 256), A = random.Next(0, 2) == 0 ? (byte)255 : (byte)random.Next(64, 256) }, Orbita = random.NextDouble() * 7 + 2, Angle = random.Next(0, 360), AngleSpeed = random.NextDouble() * 3 + 0.1 }; sphere.Geometry.Transform = new Transform3DGroup { Children = new Transform3DCollection { new TranslateTransform3D(sphere.Orbita, 0, 0), new RotateTransform3D(new AxisAngleRotation3D(new Vector3D(0, 0, 1), sphere.Angle)) } }; sphere.Timer.Enabled = true; sphere.UpdateSphereMesh(); spheres.Add(sphere); meshGroup.Children.Add(sphere.Geometry); }
public MainWindow() { InitializeComponent(); SphereModel3D center = new SphereModel3D { Radius = 0.5 }; center.UpdateSphereMesh(); meshGroup.Children.Add(center.Geometry); }
private void ChangeSize(object sender, RoutedEventArgs e) { SelectedSphere.Radius = random.NextDouble() * 3 + 0.1; SelectedSphere.UpdateSphereMesh(); }