Infinity: Difference between revisions
From JSXGraph Wiki
A WASSERMANN (talk | contribs) No edit summary  | 
				A WASSERMANN (talk | contribs) No edit summary  | 
				||
| Line 51: | Line 51: | ||
  points[3] = board.createElement('point',[5, -5], {name:' '});	  |   points[3] = board.createElement('point',[5, -5], {name:' '});	  | ||
  function   |   function quadrangle(pt, n) {  | ||
   var arr = new Array();  |    var arr = new Array();  | ||
   for(var i = 0; i < 4; i++) {  |    for(var i = 0; i < 4; i++) {  | ||
| Line 72: | Line 72: | ||
   board.createElement('polygon',pt, {fillColor: '#5555'+n+''+n});  |    board.createElement('polygon',pt, {fillColor: '#5555'+n+''+n});  | ||
   if(n>0)  |    if(n>0)  | ||
     quadrangle(arr, --n);  | |||
  }  |   }  | ||
  board.suspendUpdate();  |   board.suspendUpdate();  | ||
  quadrangle(points,30);  | |||
  board.unsuspendUpdate();  |   board.unsuspendUpdate();  | ||
</source>  | </source>  | ||
[[Category:Examples]]  | [[Category:Examples]]  | ||
Revision as of 14:53, 2 December 2008
Just enjoy this construction...
 var board = JXG.JSXGraph.initBoard('jxgbox', {originX: 300, originY: 300, unitX: 50, unitY: 50})
 var S = board.createElement('slider', [-5,-6,10,0,1,0.5], {name:'S'});
 var points = new Array();
 points[0] = board.createElement('point',[5, 5], {name:' '});	
 points[1] = board.createElement('point',[-5, 5], {name:' '});	
 points[2] = board.createElement('point',[-5, -5], {name:' '});	
 points[3] = board.createElement('point',[5, -5], {name:' '});	
	 		 	
 function quadrangle(pt, n) {
  var arr = new Array();
  for(var i = 0; i < 4; i++) {
   arr[i] = board.createElement('point', 
         [function(t) {
            return function () {var x = pt[t].X(); 
                                var x1 = pt[(t+1)%4].X(); 
                                var s = S.X();
                                return x+(x1-x)*s;
                         }}(i), 
          function(t) {
            return function () {var y = pt[t].Y(); 
                                var y1 = pt[(t+1)%4].Y(); 
                                var s = S.X();
                                return y+(y1-y)*s;
                         }}(i)
          ], 
          {style:3, name:" "});
  }
  board.createElement('polygon',pt, {fillColor: '#5555'+n+''+n});
  if(n>0)
    quadrangle(arr, --n);
 }
 board.suspendUpdate();
 quadrangle(points,30);
 board.unsuspendUpdate();