Пример #1
0
    public Vector3 Apply(AttractorType type, Vector3 position)
    {
        Vector3 velocity;

        switch (type)
        {
        case AttractorType.Dadras:
            velocity = applyDadras(position);
            break;

        case AttractorType.Lorenz:
            velocity = applyLorenz(position);
            break;

        case AttractorType.Lorenz84:
            velocity = applyLorenz84(position);
            break;

        case AttractorType.Aizawa:
            velocity = applyAizawa(position);
            break;

        case AttractorType.Thomas:
            velocity = applyThomas(position);
            break;

        case AttractorType.Sprott:
            velocity = applySprott(position);
            break;

        case AttractorType.Chen:
            velocity = applyChen(position);
            break;

        case AttractorType.Halvorsen:
            velocity = applyHalvorsen(position);
            break;

        case AttractorType.RabinovichFabrikant:
            velocity = applyRabinovichFabrikant(position);
            break;

        case AttractorType.ThreeScroll:
            velocity = applyThreeScroll(position);
            break;

        case AttractorType.WangSu:
            velocity = applyWangSu(position);
            break;

        case AttractorType.GumowskiMira:
            velocity = GumowskiMiru(position);
            break;

        default:
            velocity = applyDadras(position);
            break;
        }
        return(velocity);
    }
Пример #2
0
        public static NBodyGroup CreateNBodyGroup(Scene scene, AttractorType atype)
        {
            switch (atype)
            {
            case AttractorType.Gravity:
                return(new NewtonianGravity(scene));

            case AttractorType.SimpleDynamicCosine:
                return(new CosineSimilarity(scene, true, false));

            case AttractorType.SimpleStaticCosine:
                return(new CosineSimilarity(scene, false, false));

            case AttractorType.FullDynamicCosine:
                return(new CosineSimilarity(scene, true, true));

            case AttractorType.FullStaticCosine:
                return(new CosineSimilarity(scene, false, true));
            }

            return(null);
        }
Пример #3
0
        public static NBodyGroup CreateNBodyGroup(Scene scene, AttractorType atype)
        {
            switch (atype)
            {
            case AttractorType.Gravity:
                return new NewtonianGravity(scene);
            case AttractorType.SimpleDynamicCosine:
                return new CosineSimilarity(scene,true,false);
            case AttractorType.SimpleStaticCosine:
                return new CosineSimilarity(scene,false,false);
            case AttractorType.FullDynamicCosine:
                return new CosineSimilarity(scene,true,true);
            case AttractorType.FullStaticCosine:
                return new CosineSimilarity(scene,false,true);
            }

            return null;
        }
Пример #4
0
 public Attractor(AttractorType type)
 {
     this.Type = type;
 }