コード例 #1
0
        double factor = 5.2;        //TODO:二分

        private void button3_Click(object sender, EventArgs e)
        {
            double
                x1 = StartPoint.X,
                y1 = StartPoint.Y,
                x2 = EndPoint.X,
                y2 = EndPoint.Y;

            double k = Math.Sqrt(3) / 3.0;

            if (x1 > x2)
            {
                k = -k;
            }

            double dist = GeoAlgorithm.Dist(x1, y1, x2, y2, k);
            int    time = (int)(dist * factor);

            var r = new Random();
            int x = r.Next(500, 600);             //TODO:Percent%
            int y = r.Next(500, 700);

            A.Swipe(x, y, time);
            clear();
            Thread.Sleep(1800);

            button1_Click(null, null);
        }
コード例 #2
0
ファイル: MainWindow.xaml.cs プロジェクト: Ihuarraquax/isa
        private void RunAlgorithmGeo(object sender, RoutedEventArgs e)
        {
            var a   = int.Parse(Geo_A.Text);
            var b   = int.Parse(Geo_B.Text);
            var d   = decimal.Parse(Geo_D.Text, CultureInfo.InvariantCulture);
            var tau = decimal.Parse(Geo_Tau.Text, CultureInfo.InvariantCulture);
            var t   = int.Parse(Geo_T.Text);

            GeoAlgorithm = new GeoAlgorithm(a, b, d, tau, t);
            GeoAlgorithm.Run();
            DisplaySummaryInGeoSummaryDataGrid();
            GenerateGeoPlot();
        }
コード例 #3
0
ファイル: MainWindow.xaml.cs プロジェクト: Ihuarraquax/isa
        private void TestGeoAlgorithm(object sender, RoutedEventArgs e)
        {
            var t            = 5000;
            var a            = -4;
            var b            = 12;
            var d            = 0.001m;
            var tauRangeList = new List <decimal>();

            var current = 0.5m;
            var end     = 3m;
            var step    = 0.1m;

            while (current <= end)
            {
                tauRangeList.Add(current);
                current += step;
            }

            var tauRange = tauRangeList.ToArray();
            var random   = new Random();
            var manager  = new NumberFormatService(a, b, d, random);

            var tauResults = new List <TauTestResult>();

            foreach (var tau in tauRange)
            {
                Console.WriteLine($"testing {tau}");
                var results      = new List <decimal>();
                var resultsTSelf = new List <decimal>();
                for (int i = 0; i < 1000; i++)
                {
                    var algorithm = new GeoAlgorithm(tau, t, random, manager);
                    algorithm.Run();
                    results.Add(algorithm.ResultFx);
                    resultsTSelf.Add(algorithm.SelfBestT);
                }

                tauResults.Add(new TauTestResult
                {
                    Tau                      = tau,
                    AverageBestFx            = results.Average(),
                    AverageSelfBestIteration = resultsTSelf.Average()
                });
            }

            DrawGeoTestPlot(tauResults);
            GeoTestDataGrid.ItemsSource = tauResults;
        }