private static void DrawFunctions(ILPanel panel, NeuralNetwork ann)
        {
            int xmin = (int)ann.Instance.Samples[0].Variables[0];
            int xmax = (int)ann.Instance.Samples[ann.Instance.NumSamples - 1].Variables[0];
            int ymin = (int)ann.Instance.Samples[0].Variables[1];
            int ymax = (int)ann.Instance.Samples[ann.Instance.NumSamples - 1].Variables[0];

            var approximatedFunction = new ILSurface((x, y) => (float)Convert(ann.GetOutput, x, y)[0],
                                                     xmin, xmax, 50,
                                                     ymin, ymax, 50,
                                                     (x, y) => x * y,
                                                     colormap: Colormaps.Autumn)
            {
                UseLighting = true
            };

            panel.Invoke((Action) delegate
            {
                panel.Scene.Remove(panel.Scene.First <ILSurface>());
                panel.Scene.First <ILPlotCubeDataGroup>().Insert(0, approximatedFunction);
                panel.Refresh();
            });
        }