Is there a general formula for creating close approximations of regular polygons on a regular lattice?

Prompted by the question What regular polygons can be constructed on the points of a regular orthogonal grid?:

A regular octagon can be approximated on a quad lattice (grid) to about $1\text{%}$ error by knowing that the length of the diagonal of a square is $\sqrt{2}$ (~$1.414$) times as long as its side. With that information we can draw a "regular" octagon by marking the four lattice points 7 orthogonal lengths from a center point and marking the four lattice points 5 diagonal lengths from the same center point.

Is there a general rule that can be applied to create close approximations of other regular polygons on a quad-lattice (triangle, pentagon, enneagon, decagon, dodecagon, etc.)?

-
You can approximate any regular polygon to any desired (relative) tolerance simply by making it large enough compared to the grid. It's just a matter of rounding each corner to the nearest grid point ... – Henning Makholm Sep 15 '11 at 20:34
@Henning Makholm: I understand that. The example I gave for the octagon is relatively simple. Is there a simple method for determining the optimal points for other polygons, especially those that are not multiples of 4? – oosterwal Sep 15 '11 at 20:39
The real challenge is to produce best-possible approximations relative to the size of the grid. This is related to simultaneous diophantine approximation. – Robert Israel Sep 15 '11 at 22:04