rectanglesareasurface

How to find the inner half area of a rectangle


I have a rectangle, for example width x height = 200 x 100cm. Thus, it has an area of 20,000cm2. The lower left corner has the coordinate (0,0) and the upper right corner has the coordinate (200,100).

I want to split this rectangle into two pieces with equal surface area: the middle half and the outer half, to make a sort of 'doughnut' shape.

I'm struggling to find an easy way to do this. I know that the middle half must have a surface area of 10,000cm2 and I want it to have the same 2:1 aspect ratio as the large rectangle. How do I calculate the correct scaling factor?

By iterating the equation: (s * 200) * (s * 100) = area I know that a scaling value around 0.7 is correct, but I don't know why?

When I try to Google solutions to this I get 100s of websites aimed at school children explaining how to calculate the area of a rectangle but nothing more advanced than this.


Solution

  • It's quite simple math. Assume you have a rectangle with sides of length a and b, with the coordinates of the lower left corner (x, y).

    Then the area of that rectangle is A = a * b. Now you want to find a rectangle with area A' = A/2 = a * b / 2 and and sides of length a' and b' where the condition is a / b = a' / b' (ie their aspect ratio is the same). So you have 2 equations

    I    a' * b'  =  a*b/2
    II   a'/b'    =  a/b
    

    In this equations, the values for a and b are known (they are 200 and 100 in your case). Thus you have a linear equation system with 2 variables and 2 equations, which can easily be solved. Solving this, leads to

    b' = sqrt(b^2/2) = b / sqrt(2)
    a' = a / sqrt(2)
    

    To find the coordinates (x', y') of the lower left corner of the inner rectangle, you have to substract the sides of the inner rectangle from the sides of the outer rectangle, divide that lengths by 2 and add them to the coordinates of the outer rectangle.

    x' = x + (a - a')/2
    y' = y + (b - b')/2
    

    A even more generalized solution:

    If you want A' = A / n with n being any positive number, the scaling factor is 1/sqrt(n). And thus

    b' = b / sqrt(n)
    a' = a / sqrt(n)
    

    And it can easily be seen that

    a / sqrt(n) * b / sqrt(n) = (a * b) / n = A / n