Unequal division of surface

I have an issue, which i can’t resolve on my own, hope maybe someone knows how to approach this. I have a plot of land, which is predetermined by position of buildings. I want to divide surface to multiple predetermined zones. For example - parking, playground, workout zone and etc. I have minimum required ares, due to our local regulations. In the end i want to get something like this. Does anyone know how to approach this issue?

If you know minimum about Grasshopper.
The way i do it for single case.

  1. Load the terrain as a single surface.
  2. Draw a partition lines and load them in grasshopper
  3. Split surface with partition lines with live area feedback.
    This was you will have a desired result rather than something determined by algorithm and it is super quick.
    PS you can have diagonals, arcs and any other curves.

The problem is that it should be determined by algorithm. Because it will not be a single case, but rather a test for multiple plots of land.

Maybe this can help you?

Your plot is their plan, your function is their room?
Or this?