// ОСНОВНЫЕ МЕТОДЫ // Добавляет объект private void AddEllipse() { float mass = float.Parse(massTextBox.Text); float radius = float.Parse(radiusTextBox.Text); Vector2 position = new Vector2(float.Parse(positionXTextBox.Text), float.Parse(positionYTextBox.Text)); Vector2 velocity = new Vector2(float.Parse(velocityXTextBox.Text), float.Parse(velocityYTextBox.Text)); ellipse = new PhysEllipse(mass, position, velocity, radius, radius); momentum.Field.Objs.Add(ellipse); momentum.NameOfObj = nameTextBox.Text; }
/// <summary> /// Добавляет физический объект на канвас /// </summary> /// <param name="obj">Объект</param> /// <param name="name">Имя объекта</param> internal void AddToCanvas(PhysEllipse obj) { obj.ApplyForce(new Vector2(0, Gravity * obj.Mass)); // Добавляем силу гравитации объекту SolidColorBrush brush = new SolidColorBrush(Color.FromRgb(255, 87, 34)); // Создаем кисть цвета будущей формы объекта Ellipse ellipse = new Ellipse(); // Создаем форму объекта ellipse.Width = obj.Width; // Задаем ширину форме объекта равную ширине объекта ellipse.Height = obj.Height; // Задаем высоту форме объекта равнеую высоте объекта ellipse.Fill = brush; // Задаем цвет заливки формы объекта ellipse.Stroke = Brushes.Black; // Задаем цвет границы формы объекта Canvas.SetLeft(ellipse, obj.Position.X - obj.Width / 2); // Устанавливаем координату по x форме объекта Canvas.SetTop(ellipse, obj.Position.Y - obj.Height / 2); // Устанавливаем координату по y форме объекта canvas.Children.Add(ellipse); // Добавляем форму объекта на канвас shapes.Add(ellipse); // Добавляем форму объекта в список форм }