import java.awt.geom.*; import java.awt.*; import java.util.ArrayList; import java.lang.Math; public class Circle implements FractalObject { private Point2D.Double center; private double radius; private static double numChildren; public Circle(Point2D.Double center_, double radius_) { center = center_; radius = radius_; } public void draw(Graphics2D g2) { g2.draw(new Ellipse2D.Double(center.getX() - radius, center.getY() - radius, 2 * radius, 2 * radius)); } public ArrayList addChildren(ArrayList cur) { for(double theta = 0; theta <= 360; theta += 360.0 / numChildren) { cur.add(new Circle(new Point2D.Double(center.getX() + (radius / 2.0) * Math.cos(Math.toRadians(theta)), center.getY() + (radius / 2.0) * Math.sin(Math.toRadians(theta))), radius / 2.0)); } return cur; } public void setParameter(double numChildren_) { numChildren = numChildren_; } }