Beispiel #1
0
        public Jeu()
        {
            func        = new PeriodicFunction(function);
            flose       = new AudioFile();
            fwin        = new AudioFile();
            fmusic      = new AudioFile();
            lose        = new PeriodicFunction(losing);
            lose.Enable = false;

            addgems  = new PeriodicFunction(function);
            MouseImg = new Image();
            mousecol = new BoundingBox();
            text     = new TextWriter();

            func.Initialize(new TimeSpan(0, 0, 10));    //Decrementé avec le temp
            func.Enable = true;
            addgems.Initialize(new TimeSpan(0, 0, 10)); //Decrementé avec le temp
            addgems.Enable = true;
            lose.Initialize(new TimeSpan(0, 0, 1));
            gems     = new List <Image>();
            gemscol  = new List <BoundingBox>();
            lifes    = new List <Image>();
            gemsvect = new List <Microsoft.Xna.Framework.Vector2>();
            for (int i = 0; i < 3; i++)
            {
                gemscol.Add(new BoundingBox());
                gems.Add(new Image());
                gemsvect.Add(new Microsoft.Xna.Framework.Vector2());
            }
            for (int i = 0; i < 13; i++)
            {
                lifes.Add(new Image());
            }
        }
 protected SpriteKernel(IConvertible initialVersion)
 {
     SourceList = new Dictionary<IConvertible, SpriteSource>();
     Animation = new PeriodicFunction<SpriteTransformation>(stage => new SpriteTransformation(0));
     RegisteredVersion = new Collection<IConvertible>();
     Version = initialVersion;
 }
Beispiel #3
0
        public void TestMethod1()
        {
            PeriodicFunction func = new PeriodicFunction((x) => (x));
            int    period         = 0;
            double step           = 0.1;

            List <double> expected = new List <double>();

            for (double i = -Math.PI; i < Math.PI; i += step)
            {
                expected.Add(i);
            }

            List <double> lists = PeriodicFunction.GetPeriod(period, step);

            //Assert.Collection(expected, lists);
        }
 protected void SetAnimation(Orientation reference, SpriteTransformation[] transformation)
 {
     ReferenceOrientation = reference;
     Animation = new PeriodicFunction<SpriteTransformation>(stage => transformation[stage], transformation.Length);
 }
        private void UpdateImagePlot()
        {
            //set range of system

            //XRange = new List<double>();
            //XRange.AddRange(PeriodicFunction.GetRange(fourierSeries.XMin, fourierSeries.XMax, Tick));
            //XRange.RemoveAt(0);

            XRange = new List <List <double> >();
            XRange.AddRange(PeriodicFunction.GetRange(fourierSeries.Period, Tick));

            //----------------------------------------------


            var pm = SetPlot();
            //set periods

            int periods = 20;
            int left    = periods / 2 * (-1) - 1;
            int right   = periods / 2 + 1;

            //for(int i = left; i < right; i++)
            //{
            //    var polyLineAnnotation = new PolylineAnnotation();
            //    polyLineAnnotation.Points.Add(new DataPoint(i * Math.PI, -50));
            //    polyLineAnnotation.Points.Add(new DataPoint(i * Math.PI, 50));
            //    if(i != 0)
            //        polyLineAnnotation.Text = String.Format($"{i}Pi");
            //    polyLineAnnotation.TextLinePosition = 0.48;
            //    polyLineAnnotation.TextOrientation = AnnotationTextOrientation.Horizontal;

            //    pm.Annotations.Add(polyLineAnnotation);

            //}


            // initialize function plot

            YValues = new List <double>();
            bool titleFlag = false;

            // initialize approximation plot
            var approximation = new LineSeries();

            approximation.Title = "Fourier Series";
            YAproximation       = new List <double>();
            fourierSeries.file.Write($"\n\nF(x) = x, -PI < x < PI \n Порядок {fourierSeries.N} \n Approximation\n");
            fourierSeries.CalculateElements();

            //---------------------------------

            foreach (var itemPeriod in XRange.ToList())
            {
                var function = new LineSeries();

                if (!titleFlag)
                {
                    function.Title = "f(x) = x";
                    titleFlag      = true;
                }

                foreach (var item in itemPeriod)
                {
                    double tempY = fourierSeries.Function(item);
                    YValues.Add(tempY);

                    function.Points.Add(new OxyPlot.DataPoint(Convert.ToDouble(item), Convert.ToDouble(tempY)));

                    //approximation
                    double tempAprox = fourierSeries.Approximate(item);
                    YAproximation.Add(tempAprox);

                    approximation.Points.Add(new OxyPlot.DataPoint(Convert.ToDouble(item), Convert.ToDouble(tempAprox)));
                }

                pm.Series.Add(function);
            }


            pm.Series.Add(approximation);

            #endregion
            FourierSeriesImage = pm;
        }