コード例 #1
0
        public void centerAndZoom(double x, double y)
        {
            DecPoint center = scale((double)x, (double)y);

            height = height / zoom;
            width  = width / zoom;
            xmin   = center.X - width / 2;
            xmax   = center.X + width / 2;
            ymin   = center.Y - height / 2;
            ymax   = center.Y + height / 2;
            generateBitmap();
        }
コード例 #2
0
        private void generateBitmap()
        {
            for (int x = 1; x < bmpXmax; ++x)
            {
                for (int y = 1; y < bmpYmax; ++y)
                {
                    double   Xtemp;
                    DecPoint point = scale(x, y);
                    DecPoint z     = new DecPoint(0, 0);
                    int      iter;
                    for (iter = 0; iter < iter_max && z.Abs2() < 4; ++iter)
                    {
                        Xtemp = z.X;
                        z.X   = z.X * z.X - z.Y * z.Y + point.X;
                        z.Y   = 2 * Xtemp * z.Y + point.Y;
                    }

                    bitmap.SetPixel(x, y, colors[iter]);
                }
            }
        }