void DrawFastFourierPlot(List <DataPoint> previousPoints) //, out List<double> measuredValues { DrawChart(previousPoints, false); Stopwatch s = new Stopwatch(); s.Start(); complexPoints = FastFourierTransform.Transform(previousPoints.Select(p => p.Y).ToList()); s.Stop(); ElapsedTime = s.Elapsed; var realYValues = complexPoints.Select(p => p.Real).ToList(); List <DataPoint> realDataPoints = new List <DataPoint>(); for (int i = 0; i < realYValues.Count; i++) { realDataPoints.Add(new DataPoint(i, realYValues[i])); } DrawChart(realDataPoints, false, true); var imaginaryYValues = complexPoints.Select(p => p.Imaginary).ToList(); List <DataPoint> imaginaryDataPoints = new List <DataPoint>(); for (int i = 0; i < imaginaryYValues.Count; i++) { imaginaryDataPoints.Add(new DataPoint(i, imaginaryYValues[i])); } DrawLowerChart(imaginaryDataPoints, true, "Część urojona"); }
void DrawReverseFastFourierPlot(List <Complex> previousPoints) //, out List<double> measuredValues { Stopwatch s = new Stopwatch(); s.Start(); var reversedPoints = FastFourierTransform.ReverseTransform(previousPoints); s.Stop(); ElapsedTime = s.Elapsed; List <DataPoint> dataPoints = new List <DataPoint>(); for (int i = 0; i < reversedPoints.Count; i++) { dataPoints.Add(new DataPoint(i, reversedPoints[i])); } DrawChart(dataPoints, false, true); }