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); }
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); }