public GridBase(int x_intervals, int y_intervals, string name)
        {
            bc         = Color.Azure;
            xintervals = x_intervals;
            yintervals = y_intervals;

            Image  im = new Bitmap(name);
            Bitmap b  = new Bitmap(im);

            // Console.WriteLine("\n" + b.Width + " " + b.Height + "\n Hello World!");

            xstep = (int)(((float)b.Width) / ((float)xintervals));
            ystep = (int)(((float)b.Height) / ((float)yintervals));

            //Console.WriteLine("\n" + xstep + " " + xintervals + " " + ystep + " " + yintervals + "\n Hello World!");


            red   = new cmesh(xstep, x_intervals, ystep, y_intervals);
            green = new cmesh(xstep, x_intervals, ystep, y_intervals);
            blue  = new cmesh(xstep, x_intervals, ystep, y_intervals);

            for (int i = 0, ix = 0; i < xintervals + 1 && ix < b.Width; i++, ix += xstep)
            {
                for (int j = 0, jy = 0; j < yintervals + 1 && jy < b.Height; j++, jy += ystep)
                {
                    red.setindex(i, j, (byte)b.GetPixel(ix, jy).R);
                    green.setindex(i, j, (byte)b.GetPixel(ix, jy).G);
                    blue.setindex(i, j, (byte)b.GetPixel(ix, jy).B);
                }
            }

            im.Dispose();
        }
        public GridBase(int xs, int x_intervals, int ys, int y_intervals, Color c)
        {
            Random r = new Random();

            bc         = c;
            xstep      = xs;
            ystep      = ys;
            xintervals = x_intervals;
            yintervals = y_intervals;

            red   = new cmesh(xs, x_intervals, ys, y_intervals);
            green = new cmesh(xs, x_intervals, ys, y_intervals);
            blue  = new cmesh(xs, x_intervals, ys, y_intervals);

            for (int i = 0; i < xintervals + 1; i++)
            {
                for (int j = 0; j < yintervals + 1; j++)
                {
                    red.setindex(i, j, (byte)r.Next(50, 255));
                    green.setindex(i, j, (byte)r.Next(50, 255));
                    blue.setindex(i, j, (byte)r.Next(50, 255));
                }
            }
        }