Ejemplo n.º 1
0
        private void btnBuildTable_Click(object sender, EventArgs e)
        {
            List <Point2D> points = ModularArithmeticHelper.BuildTable(M1, M2, MAX_RANGE_VALUE);

            List <ChartPoint> chartPoints = new List <ChartPoint>();

            for (int k = 0; k < points.Count; k++)
            {
                Point2D    p  = points[k];
                ChartPoint p1 = new ChartPoint(p.X, p.Y);
                chartPoints.Add(p1);
            }

            Chart chart1 = new Chart()
            {
                SeriesCollection = new List <ChartSeries>()
                {
                    new ChartSeries()
                    {
                        Name            = "Graph diagonals",
                        Type            = HoloCommon.Enumeration.Charting.ChartSeriesType.Linear,
                        ColorDescriptor = new ColorDescriptor(255, 0, 0),
                        Points          = chartPoints
                    }
                }
            };

            MemoryWriter.Write <Chart>(chart1, new ChartSerialization());
            ProcessManager.RunProcess(@"D:\Projects\HoloApplication\Modules\ChartApp\ChartApp\bin\Release\ChartApp.exe", null, false, false);

            Thread.Sleep(2000);
        }
Ejemplo n.º 2
0
        private void btnIntensityIncrease_Click(object sender, EventArgs e)
        {
            int    count = 1000;
            double step  = GetStep();

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

            double x = 0;

            for (int k = 0; k < count; k++)
            {
                double value = Math.Cos(x);
                valuesList.Add(value);
                x += step;
            }

            List <ChartPoint> points = new List <ChartPoint>();

            for (int k = 0; k < count; k++)
            {
                ChartPoint p = new ChartPoint(k, valuesList[k]);
                points.Add(p);
            }

            Chart chart1 = new Chart()
            {
                SeriesCollection = new List <ChartSeries>()
                {
                    new ChartSeries()
                    {
                        Name            = "Graph",
                        Type            = HoloCommon.Enumeration.Charting.ChartSeriesType.Linear,
                        ColorDescriptor = new ColorDescriptor(255, 0, 0),
                        Points          = points
                    }
                }
            };

            MemoryWriter.Write <Chart>(chart1, new ChartSerialization());
            ProcessManager.RunProcess(@"D:\Projects\HoloApplication\Modules\ChartApp\ChartApp\bin\Release\ChartApp.exe", null, false, false);

            Thread.Sleep(2000);

            Interval <double>     startInterval  = new Interval <double>(-1, 1);
            Interval <double>     finishInterval = new Interval <double>(0, MAX_RANGE_VALUE);
            RealIntervalTransform transform      = new RealIntervalTransform(startInterval, finishInterval);
            List <ChartPoint>     points2        = new List <ChartPoint>();

            for (int k = 0; k < count; k++)
            {
                double     newValue = transform.TransformToFinishIntervalValue(valuesList[k]);
                ChartPoint p        = new ChartPoint(k, newValue);
                points2.Add(p);
            }

            List <ChartPoint> points3 = new List <ChartPoint>();

            for (int k = 0; k < points2.Count; k++)
            {
                ChartPoint p        = points2[k];
                double     v        = p.Y % M1;
                ChartPoint newPoint = new ChartPoint(p.X, v);
                points3.Add(newPoint);
            }

            List <ChartPoint> points4 = new List <ChartPoint>();

            for (int k = 0; k < points2.Count; k++)
            {
                ChartPoint p        = points2[k];
                double     v        = p.Y % M2;
                ChartPoint newPoint = new ChartPoint(p.X, v);
                points4.Add(newPoint);
            }

            Chart chart2 = new Chart()
            {
                SeriesCollection = new List <ChartSeries>()
                {
                    new ChartSeries()
                    {
                        Name            = "Graph",
                        Type            = HoloCommon.Enumeration.Charting.ChartSeriesType.Linear,
                        ColorDescriptor = new ColorDescriptor(0, 0, 0),
                        Points          = points2
                    },
                    new ChartSeries()
                    {
                        Name            = "M1",
                        Type            = HoloCommon.Enumeration.Charting.ChartSeriesType.Linear,
                        ColorDescriptor = new ColorDescriptor(0, 255, 0),
                        Points          = points3
                    },
                    new ChartSeries()
                    {
                        Name            = "M2",
                        Type            = HoloCommon.Enumeration.Charting.ChartSeriesType.Linear,
                        ColorDescriptor = new ColorDescriptor(255, 0, 0),
                        Points          = points4
                    }
                }
            };

            MemoryWriter.Write <Chart>(chart2, new ChartSerialization());
            ProcessManager.RunProcess(@"D:\Projects\HoloApplication\Modules\ChartApp\ChartApp\bin\Release\ChartApp.exe", null, false, false);

            Thread.Sleep(2000);

            List <ChartPoint> points5 = new List <ChartPoint>();

            for (int k = 0; k < points3.Count; k++)
            {
                ChartPoint m1Point = points3[k];
                ChartPoint m2Point = points4[k];

                ChartPoint point = new ChartPoint(m1Point.Y, m2Point.Y);
                //ChartPoint point = new ChartPoint(m1Point.Y - M1, M2 - m2Point.Y);
                points5.Add(point);
            }

            List <Point2D> pointsDiagonal = ModularArithmeticHelper.BuildTable(M1, M2, MAX_RANGE_VALUE);

            List <ChartPoint> points6 = new List <ChartPoint>();

            for (int k = 0; k < pointsDiagonal.Count; k++)
            {
                Point2D    p  = pointsDiagonal[k];
                ChartPoint p1 = new ChartPoint(p.X, p.Y);
                //ChartPoint p1 = new ChartPoint(p.X - M1, M2 - p.Y);
                points6.Add(p1);
            }

            Chart chart5 = new Chart()
            {
                //InvertAxisX = true,
                //InvertAxisY = true,
                SeriesCollection = new List <ChartSeries>()
                {
                    new ChartSeries()
                    {
                        Name            = "Diagonal",
                        Type            = HoloCommon.Enumeration.Charting.ChartSeriesType.Linear,
                        ColorDescriptor = new ColorDescriptor(0, 255, 0),
                        Points          = points6
                    },

                    new ChartSeries()
                    {
                        Name            = "Points",
                        Type            = HoloCommon.Enumeration.Charting.ChartSeriesType.Bubble,
                        ColorDescriptor = new ColorDescriptor(0, 0, 0),
                        Points          = points5
                    }
                }
            };

            MemoryWriter.Write <Chart>(chart5, new ChartSerialization());
            ProcessManager.RunProcess(@"D:\Projects\HoloApplication\Modules\ChartApp\ChartApp\bin\Release\ChartApp.exe", null, false, false);

            Thread.Sleep(2000);
        }