real circleradius = 160; path circ = circle((0,0), circleradius); fill(circ, red); guide spiral; real curveFunc(real theta10) { return 0.008*theta10*theta10 + 0.2*theta10; } for (int i = 0; i < 200; i += 1) { spiral = (curveFunc(i)*dir(10*i))..spiral..(curveFunc(i)*dir(180+10*i)); } path p = buildcycle(spiral, circ); fill(p, black);