Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 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");
     }
 }