public void Plot(IPlotInput input) { if (input.functions.Length > 0) { PlotUtils.ResetScale(); Clear(); functions = input.functions; independent = input.independent; dependent = input.dependent; continuous = true; closed = true; continuousFunction = new bool[functions.Length]; closedFunction = new bool[functions.Length]; functionPoints.Clear(); for (int i = 0; i < functions.Length; i++) { continuousFunction[i] = true; closedFunction[i] = true; functionPoints.Add(new List <Point>()); } BeforePlot(input); minI.Set(double.MaxValue); maxI.Set(double.MinValue); minD.Set(0, double.MaxValue); maxD.Set(0, double.MinValue); minF.Set(0, 0, double.MaxValue); maxF.Set(0, 0, double.MinValue); PlotFunctions(input.a, input.b, input.quality); AfterPlot(input.a, input.b, minI, maxI, minD, maxD, minF, maxF); PlotAxis(); PlanePlotter.PlotActions(); LinePlotter.PlotActions(); ConePlotter.PlotActions(); LabelPlotter.PlotActions(); } }
private void Start() { List <Point> points = new List <Point>(); points.Add(new Point(0, 1, 1)); points.Add(new Point(1, 0, 1)); points.Add(new Point(2, -1, 1)); points.Add(new Point(3, -1, 1)); points.Add(new Point(4, 0, 1)); points.Add(new Point(5, 1, 1)); points.Add(new Point(5, 1, 0)); points.Add(new Point(4, 0, 0)); points.Add(new Point(3, -1, 0)); points.Add(new Point(2, -1, 0)); points.Add(new Point(1, 0, 0)); points.Add(new Point(0, 1, 0)); Plot(points); points.Clear(); points.Add(new Point(0, 1, -1.5)); points.Add(new Point(1, 0, -1)); points.Add(new Point(2, -1, -1)); points.Add(new Point(3, -1, -1)); points.Add(new Point(4, 0, -1)); points.Add(new Point(5, 1, -1.5)); points.Add(new Point(4, 0, -2)); points.Add(new Point(3, -1, -2)); points.Add(new Point(2, -1, -2)); points.Add(new Point(1, 0, -2)); Plot(points); PlanePlotter.PlotActions(); LinePlotter.PlotActions(); }