I'm working on the following fun problem. I have a circle of a given radius, R0. (Green circle in the image). I want to be able to supply a radius of the first circle that is to fit into this large circle. Lets say R1 is 0.75 * R0. Following this I find the best position of R2 (to maximise its radius), is on top of the smaller circle. This is the largest circle that can fit inside the green circle without overlapping the red circle or going out of the green circle. I can calculate its radius and position easily. I now want to place the next largest circles next to the white circle - there will be two of equal diameter, next to the white and touching the white and red and border of green. I do not know how to calculate their radius or position. I've included the html to generate the above placement with R1=0.75 R0. When R1 is altered the white circle automatically changes size. In the image below the blue circles represent the next largest circles that can be fitted. I expect there should be an infinite series of circles getting smaller and smaller. I would like to be able to calculate their placement and radius, leaving only R1 (red circle) as a variable that can be altered and all the other circles should get rendered automatically.