Right now, I'm creating the circle patterns by rotating copies of the shape by even degree amounts. Each circle aside from the center one is a multiple of 6. Then I divide the number of dots in that circle by 360 degrees to determine the degree to which I must space the rotation of each dot in that circle from the previous one (always using the center of the dot in the very middle as an anchor point). The problem is that I want these circles to contain numbers, the orientation of which should not be rotated. Like above, the numbers should be 'upright.' So, simply copying a circle containing a number and rotating multiple copies of that circle is insufficient (i'll just end up with a bunch of rotated numbers).

Any ideas on how to on a very large scale (maybe 100 concentric circles made of dots), create this illustration and ultimately have the numbers upright (without manually making each number upright through individual rotation)?