Exponential grids / mobius transformations

It’s tough to know the values that generated that exact image, but this is pretty close:

void setup(){
  size(600,600);
  strokeWeight(2);
}
void draw(){
  background(0);
  noFill();
  translate(20,300);
  
  stroke(255,0,0);
  line(0,-height,0,height);
  float rad = 100;
  for( int i = 0; i < 15; i++){
    ellipse(rad/2,0,rad,rad);
    rad*=1.3;
  }
  stroke(0,0,255);
  line(-20,0,width,0);
  rad = 200;
  for( int i = 0; i < 6; i++){
    ellipse(0,rad/2,rad,rad);
    ellipse(0,-rad/2,rad,rad);
    rad*=1.4;
  }
}

You can fiddle with the initial values for rad and the amount it increases by each time a loop happens.