Есть такой вот код для построения спирали

Код AS3:
import flash.display.Shape;
import flash.display.Graphics;
function getSpiral(radius:Number, coils:Number, sides:uint):Shape
{
var s:Shape = new Shape();
var canvas:Graphics = s.graphics;
var awayStep:Number = radius/sides;
var aroundStep:Number = (coils/sides) * 2 * Math.PI;
var angle:Number = 0;
var radius:Number = 0;
var xPoint:Number = 0;
var yPoint:Number = 0;
for (var i:uint = 0; i < sides; i++)
{
radius = i * awayStep;
angle = i * aroundStep;
xPoint = radius * Math.cos(angle);
yPoint = radius * Math.sin(angle);
canvas.beginFill(0xFF0000);
canvas.drawCircle(xPoint, yPoint, 5);
canvas.endFill();
}
return s;
}
var spiral1:Shape = getSpiral(200, 3, 100);
spiral1.x = int(stage.stageWidth * .5);
spiral1.y = int(stage.stageHeight * .5);
addChild(spiral1);
Получается чем дальше объекты по витку, тем больше между ними (объектами или точками на витке) расстояние. Оно и понятно.
Как разместить объекты равномерно на такой спирали, чтоб все расстояния между объектами были равны?
Т.е. начиная от центра, отмеряем равные расстояния и помещаем в эту точку объект. Понимаю что нужно компенсировать угол в меньшую сторону с каждым витком, но не понимаю как.