I need to create about 100 (small) holes in a distributor plate (hole diam = 0.5 mm; plate diameter = 100 mm). The sm. holes should be distributed in such a way that the density (hole/area) is nearly constant, i.e. that the distance distribution function is close to monodispersed as possible (distance distribution = distance between any two sm. hole centers). It appears to me that due to the circular shape of the plate, any given area that a single hole hole has to cover may not be a circle in itself, thus rendering the distance distribution function not as a mondispersed function but with some distribution. That's ok as long as there is a way to see the orientation of all the sm. holes and the influence of their locations on the distribution function (i.e. to make a judgment call).

Now, given the fact that the areas that each hole has to cover may not be a circle, leaves degrees of freedom that render a determined solution impossible, but this exercise is thought of as an approximation. I have seen circular patterns (of various number of holes of larger sizes) distributed within a circle which leaves space uncovered. This may serve as a starting point after which some manual adjustment can be made to lead to a decent distribution (for all practical purposes).

If someone has a ready-made algorithm to do this and is willing to share it, that'll be great.


Circle packings in a circle may be what you want, although your criteria for evaluating configurations may be slightly different. For example, those studying circle packings find these two configurations for N=13 equally good but you may prefer the configuration on the left. Also, you might have different conditions on the boundary. Anyway, I would start with these diagrams for N~100 from this collection.

  • $\begingroup$ This is a really excellent answer! $\endgroup$ – Allen Knutson Oct 19 '11 at 10:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.