internal void UpdateLagrangeSchedule(MainModel.Calculator func)
 {
     if (config != null)
     {
         UpdateSchedule(func, out lagrange, config.LagrangeMaterial);
     }
 }
 internal void UpdateOLSSchedule(MainModel.Calculator func)
 {
     if (config != null)
     {
         UpdateSchedule(func, out ols, config.OLSMaterial);
     }
 }
        void UpdateSchedule(MainModel.Calculator func, out Line sch, Material mat)
        {
            sch = new Line();
            if (func == null)
            {
                return;
            }
            sch.Mat    = mat;
            sch.Points = new List <Vector3>();
            float step     = xStep / config.DrawingFrequency;
            float endPoint = StartPosition.x + xStep * (config.XSteps - 1);

            for (float realX = StartPosition.x; realX < endPoint; realX += step)
            {
                float tableX = TableX(realX);
                float realY  = RealY(func(tableX));
                sch.Points.Add(new Vector3(realX, realY));
            }
        }