You know, I just remebered that I had a brute-force method of doing the MM spring thing with expressions. It has to loop through the entire time line on every frame so it will undoubtedly bog down in long comps, but here it is:
restLength = 20; //rest length (pixels)
damp = .95;
leader = thisComp.layer(“leader”);
fDur = thisComp.frameDuration;
currFrame = Math.round(time/fDur);
p2 = position.valueAtTime(0);
v2 = 0;
for (f = 0; f <= currFrame; f++){
t = f*fDur;
p1 = leader.position.valueAtTime(t);
delta = p2 - p1;
nDelta = normalize(delta);
a = 2*nDelta*(length(delta) - restLength)*fDur;
v2 = (v2 - a)*damp;
p2 += v2;
}
p2
Dan