Here's a solution that works fairly well using Expression controllers.
I created part of a 10-sided deployable circle. It is composed of two "dogleg" component types. The series Line001, Line002,... bend in one direction and Line011, Line012,... bend in the other direction. The two types are mirror images of each other and have their pivot points at the bend with the x axis pointing in the direction of the first segment (the picture should help to clarify).

As the deployable circles gets larger or smaller the pivots move out or in along a constant radial line. These radial "axes" are a 0°, 36°, 72°,...
I set the length of a side for the dogleg at 100mm. Assuming the radius of the circle is r, the position of the legs is r*[cos(theta),sin(theta),0] where theta = 0,36, 72, 108,... (to fill the polar array with 10 copies 72° apart).
The angle of rotation is a bit trickier. Using the Law of Sines and a little manipulation I determine that the angle of rotation for Lines001, 002,... is
162 - asin( r * sin(18°)/100) + theta
(again, theta = 0, 36, 72,...), Note, the 100 is from the length of the leg. It could be changed for a different length leg.
This expression can be simplified to: 162 - asin( r * 0.00309017) + theta
Since the angle in an expression controller uses radians, it would look like this for the legs position at 72° along the circle:
degToRad(162 - asin(r*0.00309017))+degToRad(72)
Here are a few images of the rig. I only implemented it for 7 objects. Just modify the radius of the circle to see the action.



lee.minardi