spring


    private function spring(partA:animation_ch12_Ball, partB:animation_ch12_Ball):void
    {
     var dx:Number = partB.x - partA.x;
     var dy:Number = partB.y - partA.y;
     var dist:Number = Math.sqrt(dx * dx + dy * dy);
     if(dist < minDist)
     {
      graphics.lineStyle(1, 0xffffff, 1 - dist / minDist);
      graphics.moveTo(partA.x, partA.y);
      graphics.lineTo(partB.x, partB.y);
      var ax:Number = dx * springAmount;
      var ay:Number = dy * springAmount;
      partA.vx += ax / partA.mass;
      partA.vy += ay / partA.mass;
      partB.vx -= ax / partB.mass;
      partB.vy -= ay / partB.mass;
     }
    }
   }
  }