В конце концов, это довольно простая математика. Предположим,
диаметр равен 100 пикселям
Буфер между кругами - половинный радиус (50 пикселей)
Ширина экрана составляет 800 пикселей
Высота экрана составляет 600 пикселей
--Initial position:
first position: (width / 2, height / 2 - (circles-1) * (diameter + buffer) / 2))
--All subsequent positions:
next position: (previousposition.x, previousposition.y + diameter+ buffer)
если вы введете 1 кружок, это будет:
кружок 1: (400, 300 - (0 * (радиус + буфер) / 2 = (400, 300)
Если вы введете 2 круга, это будет:
кружок 1: (400, 300 - (1 * (радиус + буфер) / 2 = (400, 225), кружок 2: (400, 225 + 150) = (400, 375)
Если вы введете 3 круга, это будет:
круг 1: (400, 300 - 2 * радиус + буфер) / 2 = (400, 150), круг 2: (400, 150 + 150) = ( 400, 300), круг 3: (400, 300 + 150) = (400, 450)
... и т. Д.