fn pixel_to_point(bounds: (usize, usize), pixel: (usize, usize), upper_left: Complex<f64>, lower_right: Complex<f64>) -> Complex<f64> {
    let (width, height) = (lower_right.re - upper_left.re, upper_left.im - lower_right.im);
    Complex{
        re: upper_left.re + pixel.0 as f64 * width / bounds.0 as f64,
        im: upper_left.im - pixel.1 as f64 * height / bounds.1 as f64,
        // porque hacemos una resta aca??? ---> porque pixel.1 crece cuando vamos a valores mas
        // altos pero la parte imaginaria se incrementa a medida que el valor crece
    }
}
/// Function given the row and the column of a pixel in the output image, return the corresponding
/// point on the complex plane.
///
/// `bound` is a pair given the width and the height of the image in pixels.
/// `pixel` is a (column, row) pair indicating a particular pixel in that image.
/// The `upper_left` and `lower_right` parameters are points on the complex plane designating the
/// area our image covers.
Function given the row and the column of a pixel in the output image, return the corresponding
point on the complex plane.

`bound` is a pair given the width and the height of the image in pixels.
`pixel` is a (column, row) pair indicating a particular pixel in that image.
The `upper_left` and `lower_right` parameters are points on the complex plane designating the
area our image covers.
Function given the row and the column of a pixel in the output image return the corresponding point on the complex plane . ` bound ` is a pair given the width and the height of the image in pixels . ` pixel ` is a ( column row ) pair indicating a particular pixel in that image . The ` upper_left ` and ` lower_right ` parameters are points on the complex plane designating the area our image covers .
fn pixel_to_point(bounds: (usize, usize), pixel: (usize, usize), upper_left: Complex<f64>, lower_right: Complex<f64>) -> Complex<f64> {
    let (width, height) = (lower_right.re - upper_left.re, upper_left.im - lower_right.im);
    Complex{
        re: upper_left.re + pixel.0 as f64 * width / bounds.0 as f64,
        im: upper_left.im - pixel.1 as f64 * height / bounds.1 as f64,
        // porque hacemos una resta aca??? ---> porque pixel.1 crece cuando vamos a valores mas
        // altos pero la parte imaginaria se incrementa a medida que el valor crece
    }
}
fn pixel_to_point ( bounds : ( usize , usize ) , pixel : ( usize , usize ) , upper_left : Complex < f64 > , lower_right : Complex < f64 > ) -> Complex < f64 > { let ( width , height ) = ( lower_right . re - upper_left . re , upper_left . im - lower_right . im ) ; Complex { re : upper_left . re + pixel . 0 as f64 * width / bounds . 0 as f64 , im : upper_left . im - pixel . 1 as f64 * height / bounds . 1 as f64 , // porque hacemos una resta aca??? ---> porque pixel.1 crece cuando vamos a valores mas // altos pero la parte imaginaria se incrementa a medida que el valor crece } }
Function given the row and the column of a pixel in the output image, return the corresponding
point on the complex plane.
Function given the row and the column of a pixel in the output image return the corresponding point on the complex plane .
bounds
(usize, usize)
pixel
(usize, usize)
upper_left
Complex<f64>
lower_right
Complex<f64>
bounds
(usize, usize)
pixel
(usize, usize)
upper_left
Complex<f64>
lower_right
Complex<f64>