public class RecursiveGraphics { public static void mysteryImage(double x, double y, double radius, int level) { if (level == 0) { StdDraw.filledSquare(x, y, radius); } else { double up = x + (3*radius/4); double down = x - (3*radius/4); double right = y + (3*radius/4); double left = y - (3*radius/4); mysteryImage(x, y, radius/2, level-1); mysteryImage(up, right, radius/4, level-1); mysteryImage(up, left, radius/4, level-1); mysteryImage(down, right, radius/4, level-1); mysteryImage(down, left, radius/4, level-1); } } public static void main(String[] args) { int level = 2; mysteryImage(.5, .5, .5, level); } }