static double mandelbrotZoomCoordinates_ratio = 16.0/9;
static double mandelbrotZoomCoordinates_zoomStep = 1-1e-2;

static L<DoubleRect> mandelbrotZoomCoordinates(int steps, double lookAtX, double lookAtY) {
  int nSteps = 0;
  new L<DoubleRect> l;
  for (double w = 1.0; nSteps < steps; w *= mandelbrotZoomCoordinates_zoomStep) {
    ++nSteps;
    double h = w/mandelbrotZoomCoordinates_ratio;
    double x1 = lookAtX-w;
    double x2 = lookAtX+w;
    double y1 = lookAtY-h;
    double y2 = lookAtY+h;
    //print(nSteps + ": "+ x1 + ", " + y1 + ", " + x2 + ", " + y2);
    l.add(DoubleRect(x1, y1, x2-x1, y2-y1));
  }
  ret l;
}