Hemispherical canopy based on different sizes and heights

Hi guys, I’m trying to create a hemispherical canopy that is based on specific arrangements of overlapping circles as shown in diagram. Then I want to turn these circles into hemispheres and the height of each hemisphere should correspond to it radius for now.
Right now i have been able to achieve only circles in random arrangement only. Can anyone please give me an insight as how to take this problem forward.
Thanks in adnvance!! :hugs:

why you don’t post your definition

Hi, sorry forgot to attach it. Here it is

CANOPY.gh (8.1 KB)

CANOPY2.gh (13.9 KB)

Search for circle packaging on a surface. For example kangaroo has one in his examples. Than they have the same elevation but touch each other. Move some centerpoints randomly down, do some math and create the hemisphere so it has the radius to touch the initial circle.
There‘s how you get the radius for the hemisphere:

Thanks a lot Seghier. I tweaked it a little bit and got what i was looking for. Will share the complete result once i’m done with it :grinning:

Yes, that’s exactly what I did, Although I’m bad at math but this helped me to get through. Thanks a lot! :grinning::grinning: