Como executar o zoom simples no Mandelbrot Set

Tenho uma pergunta geral com a visualização "zoom" do conjunto de Mandelbrot e a matemática referente a ela. Eu implementei o conjunto de mandelbrot para o tamanho da janela 256 X 256 com valores

  // ImageWidth = ImageHeight = 256;

  double MinRe = -2.0;
  double MaxRe = 1.0;
  double MinIm = -1.2;
  double MaxIm = 1.8;

  ComputeMandelbrot();

Em seguida, seleciono uma região quadrada e estas são as coordenadas da ponta superior esquerda (76,55) e da ponta inferior direita (116, 99) (o quadrado do lado 44 é escolhido)

so escolhox2 = x1 + 44 ; y2 = y1 + 44;

Como traduzo essas novas coordenadas para o plano complexo? e como os novos valores reais e imaginários mudariam para calculá-lo para o novo conjunto de valores?

Isto é o que eu tentei até agora ..

double Re_factor = (MaxRe-MinRe)/(ImageWidth-1);
double Im_factor = (MaxIm-MinIm)/(ImageHeight-1);

double newMinRe = MinRe + (Re_factor* x1);
double newMaxRe = MaxRe + (Re_factor* x2);
double newMinIm = MinIm + (Im_factor* y1);
double newMaxIm = MaxIm + (Im_factor* y2);

// and then I compute c - real and c- imag values

  for(unsigned y=0; y<ImageHeight; ++y) 
{ 
  double c_im = newMaxIm - y*Im_factor;
  for(unsigned x=0; x<ImageWidth; ++x)
    {
      double c_re = newMinRe + x*Re_factor;

      // ComputeMandelbrot();

     }

 }

Estou tendo dificuldades para descobrir a matemática e também para gerar uma visualização de 'zoom' e qualquer ajuda é apreciada !!

questionAnswers(1)

yourAnswerToTheQuestion