private void DrawMassCenter(Vehicle vehicle, Canvas canvas, Direction dir) { var point3D = vehicle.GetMassCenter(); var circleDiameter = 20; double height; if (dir == Direction.Up) { height = canvas.Height - point3D.Z/Scale - circleDiameter/2; } else { height = point3D.Y/Scale - circleDiameter/2; } var ellipse = new Ellipse(); ellipse.Width = circleDiameter; ellipse.Height = circleDiameter; Brush brush = new SolidColorBrush(); brush = Brushes.Black; ellipse.Stroke = new SolidColorBrush(Colors.Black); ellipse.StrokeThickness = 2; ellipse.Fill = brush; Canvas.SetLeft(ellipse, point3D.X/Scale - circleDiameter/2); Canvas.SetTop(ellipse, height); canvas.Children.Add(ellipse); }
private void CheckOverweight(Vehicle vehicle, TextBox textBox, int MaxTonnage) { var p = vehicle.GetMassCenter(); var maxTonnage = MaxTonnage*(vehicle.EmptyTonnage*vehicle.Length + 2*p.X*vehicle.Mass)/(vehicle.Length*(vehicle.EmptyTonnage + vehicle.Mass)); if (vehicle.Mass > maxTonnage & p.X < vehicle.Length/2) { textBox.AppendText("Превышение нагрузки на переднюю ось \n"); } if (vehicle.Mass > maxTonnage & p.X > vehicle.Length/2) { textBox.AppendText("Превышение нагрузки на заднюю ось \n"); } if (vehicle.Mass > maxTonnage & p.X == vehicle.Length/2) { textBox.AppendText("Превышение нагрузки на все оси \n"); } }