Animation III

From JSXGraph Wiki

The underlying JavaScript code

brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-0.2,1.2,1.2,-0.5], keepaspectratio:true});
p = [];
len = 25;
for (i=0;i<len;i++) {
    p[i] = brd.create('point',[Math.random(),Math.random()],
               {face:'o', size:10, strokeColor:'red', fillColor:'red', fillOpacity:0.4, strokeOpacity:0.4, withLabel:false});
}
setInterval(function(){
   var i, j;
   for (i=0;i<p.length;i++) {
       p[i].moveTo([Math.random(),Math.random()],1000);
   }
   i = 0;
   while (i<p.length) {
       for (j=i+1;j<p.length;j++) {
           if (p[i].Dist(p[j])<0.075) {
               brd.removeObject(p[j]);
               p.splice(j,1);
               brd.removeObject(p[i]);
               p.splice(i,1);
               i--;
               break;
           } 
       }
       i++;
   }
},2000);