Animation III: Difference between revisions

From JSXGraph Wiki
No edit summary
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 2: Line 2:
brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-0.2,1.2,1.2,-0.5], keepaspectratio:true});
brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-0.2,1.2,1.2,-0.5], keepaspectratio:true});
p = [];
p = [];
len = 30;
len = 25;
for (i=0;i<len;i++) {
for (i=0;i<len;i++) {
     p[i] = brd.createElement('point',[Math.random(),Math.random()],
     p[i] = brd.create('point',[Math.random(),Math.random()],
               {face:'o', size:8, strokeColor:'red', fillColor:'red', fillOpacity:0.4, strokeOpacity:0.4, withLabel:false});
               {face:'o', size:10, strokeColor:'red', fillColor:'red', fillOpacity:0.4, strokeOpacity:0.4, withLabel:false});
}
}
setInterval(function(){
setInterval(function(){
   var i, j;
   var i, j;
   for (i=0;i<p.length;i++) {
   for (i=0;i<p.length;i++) {
       p[i].moveTo([Math.random(),Math.random()],800);
       p[i].moveTo([Math.random(),Math.random()],1000);
   }
   }
   i = 0;
   i = 0;
   while (i<p.length) {
   while (i<p.length) {
       for (j=i+1;j<p.length;j++) {
       for (j=i+1;j<p.length;j++) {
           if (p[i].Dist(p[j])<0.05) {
           if (p[i].Dist(p[j])<0.075) {
               brd.removeObject(p[j]);
               brd.removeObject(p[j]);
               p.splice(j,1);
               p.splice(j,1);
Line 28: Line 28:
},2000);
},2000);
</jsxgraph>
</jsxgraph>
===The underlying JavaScript code===
<source lang="javascript">
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);
</source>
[[Category:Examples]]

Latest revision as of 11:28, 12 November 2020

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);