Всем огромное спасибо!
Конечно, банальный вопрос получился, но почему-то я не мог до него сам допереть. Что если хочешь реалистично - делай как в реальности. =) + кроме того, сильно сократился код. Потому то у меня и свербило где-то, что я чувствовал - не дело писанину разводить, должен быть простой способ. Еще раз спасибо.
В итоге что я проделал:
сначала задаю параметры

Код AS3:
private var _alpha: Number = 0;
private var _phase: Number = 0;
private var _radius:Number = 60;
потом выставляю на сцену поршни

Код AS3:
_phase = 360 / _model.forcesCount;
for (i = 0; i < _model.forcesCount; i++ )
{
var angle:Number = radToDeg(_alpha + _phase * i);
_forcers[i].y = Math.cos(angle) * _radius;
_forcers[i].direction = _phase * i < 180 ? -1 : 1;
_mc.forcersContainer.addChild(_forcers[i]);
}
далее, при анимации, сдвигаю по фомуле .y и присваиваю direction в крайних положениях пошня (для того, чтоб менять цвет и глубину отображения в дисплей листе)

Код AS3:
var forcer:MovieClip = _forcers[i];
var angle:Number = radToDeg(_alpha + _phase * i);
var cos:Number = Math.cos(angle);
forcer.y = cos * _radius;
if ((cos == 1) || (cos == -1))
_forcer.direction = -cos;