Circles, sectors, rings, buffers, and the n-gons

Code posted on my GitHub repository... called circle_make.py, perhaps a bit of a misnomer since it works to create all things associated with 'circular' features, which would include ellipses, triangles, squares, rectangles, sectors, arcs, pentagons, hexagons, octagons and n-gons... anything whose points can be placed on a circle.

Here are some pictures, you can examine the code at your leisure. The functions (def) can be used in scripts to work with arcpy, numpy and with some stretching... the field calculator. If you have any useful examples, pass them on.

With donut holes in the middle... the radiating line is a matplotlib artifact...I didn't want to waste time removing it.

Note that the ring widths are not equal... they need not be, you just set the threshold distances you want.

These last two have a rotation set. And the ellipse is the result of scaling the y-values and rotating the coordinates.

As a simple example of the internal structure of the inputs, the following is an example of two triangles (3 points on a circle) with holes. The data input is simply an input array as shown by the coordinates and the plotting routine handles the output.