Esempio n. 1
0
        private void Recursion(IGraphics2DContext context, double x, double y, double width, int level)
        {
            if (level > 0)
            {
                double dx = width / 3;

                context.FillRectangle(x, y, width, LineHeight, Color);

                Recursion(context, x, y + LineHeight * 2, dx, level - 1);
                Recursion(context, x + 2 * dx, y + LineHeight * 2, dx, level - 1);
            }
        }
Esempio n. 2
0
        private void Recursion(IGraphics2DContext context, double x, double y, double width, double height, int level)
        {
            if (level > 0)
            {
                double dx = width / 3;
                double dy = height / 3;

                Recursion(context, x, y, dx, dy, level - 1);
                Recursion(context, x + 2 * dx, y, dx, dy, level - 1);
                Recursion(context, x, y + 2 * dy, dx, dy, level - 1);
                Recursion(context, x + 2 * dx, y + 2 * dy, dx, dy, level - 1);
            }
            else
            {
                context.FillRectangle(x, y, width, height, Color);
            }
        }
Esempio n. 3
0
        private void Recursion(IGraphics2DContext context, double x1, double y1, double x2, double y2, int level)
        {
            if (level > 0)
            {
                double x1n = 2 * x1 / 3 + x2 / 3;
                double x2n = x1 / 3 + 2 * x2 / 3;
                double y1n = 2 * y1 / 3 + y2 / 3;
                double y2n = y1 / 3 + 2 * y2 / 3;

                Color color = _color ?? Color.Random();

                context.FillRectangle(x1n, y1n, x2n - x1n, y2n - y1n, color);

                Recursion(context, x1, y1, x1n, y1n, level - 1);
                Recursion(context, x1n, y1, x2n, y1n, level - 1);
                Recursion(context, x2n, y1, x2, y1n, level - 1);
                Recursion(context, x1, y1n, x1n, y2n, level - 1);
                Recursion(context, x2n, y1n, x2, y2n, level - 1);
                Recursion(context, x1, y2n, x1n, y2, level - 1);
                Recursion(context, x1n, y2n, x2n, y2, level - 1);
                Recursion(context, x2n, y2n, x2, y2, level - 1);
            }
        }