Exemple #1
0
        public override Helicopter LoadDefault()
        {
            Mass    = 750;
            Inertia = Matrix <double> .Build.DenseOfDiagonalArray(3, 3, new double[] { 1000, 3000, 3000 });

            foreach (var rotor in Rotors)
            {
                rotor.LoadDefaultTailRotor();
            }
            Rotors[0].Translation = Vector <double> .Build.DenseOfArray(new double[] { 2, 2, -1 });

            Rotors[1].Translation = Vector <double> .Build.DenseOfArray(new double[] { -2, 2, -1 });

            Rotors[2].Translation = Vector <double> .Build.DenseOfArray(new double[] { -2, -2, -1 });

            Rotors[3].Translation = Vector <double> .Build.DenseOfArray(new double[] { 2, -2, -1 });

            Rotors[0].direction = Rotors[2].direction = Rotor.Direction.CounterClockwise;
            Rotors[1].direction = Rotors[3].direction = Rotor.Direction.Clockwise;

            FCS      = new FlightControlSystem().LoadDefault();
            Engine   = new Engine().LoadDefault();
            GearBox  = new GearBox().LoadDefault();
            Fuselage = new Fuselage();
            return(this);
        }
Exemple #2
0
        public override Helicopter LoadDefault()
        {
            Mass    = 2450;
            Inertia = Matrix <double> .Build.DenseOfArray(new double[, ] {
                { 1762, 0, 1085 },
                { 0, 9167, 0 },
                { 1085, 0, 8687 }
            });

            MainRotor             = new Rotor().LoadDefault();
            MainRotor.Translation = Vector <double> .Build.DenseOfArray(new double[] { 0.0071, 0, -1.5164 });

            MainRotor.Rotation = Matrix <double> .Build.RotationY(-6.3 *Math.PI / 180.0);

            TailRotor             = new Rotor().LoadDefaultTailRotor();
            TailRotor.Translation = Vector <double> .Build.DenseOfArray(new double[] { -7.5, 0, -0.8001 });

            TailRotor.Rotation = Matrix <double> .Build.DenseOfArray(new double[, ] {
                { 1, 0, 0 },
                { 0, 0, -1 },
                { 0, 1, 0 }
            });

            HorizontalStabilizer             = new Stabilizer().LoadDefaultHorizontal();
            HorizontalStabilizer.Translation = Vector <double> .Build.DenseOfArray(new double[] { -5.8, 0, -0.5 });

            HorizontalStabilizer.Rotation = Matrix <double> .Build.RotationY(5 *Math.PI / 180.0);

            VerticalStabilizer             = new Stabilizer().LoadDefaultVertical();
            VerticalStabilizer.Translation = Vector <double> .Build.DenseOfArray(new double[] { -7.3, 0, -1.5 });

            VerticalStabilizer.Rotation = Matrix <double> .Build.RotationX(90 *Math.PI / 180.0) * Matrix <double> .Build.RotationY(5 *Math.PI / 180.0);

            Fuselage             = new Fuselage().LoadDefault();
            Fuselage.Translation = Vector <double> .Build.DenseOfArray(new double[] { 0.0178, 0, 0.0127 });

            FCS     = new FlightControlSystem().LoadDefault();
            Engine  = new Engine().LoadDefault();
            GearBox = new GearBox().LoadDefault();

            return(this);
        }