generation function (circle)