private void PlotExplicitFunction(IChartAdapter2D adapter, Implicit2DParameters implicitParameters) { Explicit2DFunctionPlotter plotter = new Explicit2DFunctionPlotter((Explicit2DFunction)implicitParameters.Function); double[] result = null; plotter.Plot(implicitParameters.PointA, implicitParameters.PointB, implicitParameters.AreaSize); adapter.Plot(result, _series); }
private void PlotExplicitFunction(IChartAdapter2D adapter, Explicit2DParameters explicitParameters) { Explicit2DFunctionPlotter plotter = new Explicit2DFunctionPlotter((Explicit2DFunction)explicitParameters.Function); double[] result = null; switch(explicitParameters.PlotMode) { case PlotMode.ByNumPoints: result = plotter.Plot(explicitParameters.Min, explicitParameters.Max, explicitParameters.NumPoints); break; //case PlotMode.ByClientArea: // throw new NotSupportedException("This type of PlotMode not supported"); case PlotMode.ByStep: result = plotter.Plot(explicitParameters.Min, explicitParameters.Max, explicitParameters.Step); break; } if (!_automaticMode) { double[] tempArray = (double[])result.Clone(); Array.Sort(tempArray); double min = tempArray[0]; Array.Reverse(tempArray); double max = tempArray[0]; adapter.SetAxes(explicitParameters.Min, explicitParameters.Max, min, max); } if (explicitParameters.IsPolar) { adapter.PlotPolar(result, 0); } else { adapter.Plot(result, _series); } }