Infinity: Difference between revisions
From JSXGraph Wiki
| A WASSERMANN (talk | contribs) No edit summary | A WASSERMANN (talk | contribs) No edit summary | ||
| (16 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
| == Just enjoy this construction... == | == Just enjoy this construction... == | ||
| < | <jsxgraph box="jxgbox" width="800" height="700"> | ||
|   var brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-6, 6, 10, -8]}); | |||
|   brd.suspendUpdate(); | |||
|   var S = brd.create('slider', [[-5,-6],[5,-6],[0,0.95,1]], {name:'S'}); | |||
|  var hue = brd.create('slider', [[-5,-7],[5,-7],[0,8,36]], {name:'color'}); | |||
|   var  | |||
|   var S =  | |||
|   var points = new Array(); |   var points = new Array(); | ||
|   points[0] =  |   points[0] = brd.create('point',[5, 5], {name:' '});    | ||
|   points[1] =  |   points[1] = brd.create('point',[-5, 5], {name:' '});   | ||
|   points[2] =  |   points[2] = brd.create('point',[-5, -5], {name:' '});   | ||
|   points[3] =  |   points[3] = brd.create('point',[5, -5], {name:' '});   | ||
|   function quadrangle(pt, n) { |   function quadrangle(pt, n) { | ||
|    var col; |    var col; | ||
|    var arr = new Array(); |    var arr = new Array(); | ||
|    for(var i = 0; i < 4; i++) { |    for(var i = 0; i < 4; i++) { | ||
|     arr[i] =  |     arr[i] = brd.create('point',   | ||
|           [function(t) { |           [function(t) { | ||
|              return function () {var x = pt[t].X();   |              return function () {var x = pt[t].X();   | ||
| Line 34: | Line 29: | ||
|                           }}(i) |                           }}(i) | ||
|            ],   |            ],   | ||
|            { |            {size:1, name:"",withLabel:false,visible:false}); | ||
|    } |    } | ||
|    col =  function(){return JXG.hsv2rgb(hue.Value()*n,0.7,0.9);}; | |||
|    col =  JXG.hsv2rgb( |    brd.create('polygon',pt, {fillColor:col}); | ||
|    if(n>0) |    if(n>0) | ||
|      quadrangle(arr, --n); |      quadrangle(arr, --n); | ||
|   } |   } | ||
|   quadrangle(points,30); |   quadrangle(points,30); | ||
|   brd.unsuspendUpdate(); | |||
| </ | </jsxgraph>   | ||
| <source lang=" | <source lang="javascript"> | ||
| var brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-6, 6, 10, -8]}); | |||
| brd.suspendUpdate(); | |||
| var S = brd.create('slider', [[-5,-6],[5,-6],[0,0.95,1]], {name:'S'}); | |||
| var hue = brd.create('slider', [[-5,-7],[5,-7],[0,8,36]], {name:'color'}); | |||
| var points = new Array(); | |||
| points[0] = brd.create('point',[5, 5], {name:' '});    | |||
| points[1] = brd.create('point',[-5, 5], {name:' '});   | |||
| points[2] = brd.create('point',[-5, -5], {name:' '});   | |||
| points[3] = brd.create('point',[5, -5], {name:' '});   | |||
| function quadrangle(pt, n) { | |||
|     var col; | |||
|     var arr = new Array(); | |||
|     for(var i = 0; i < 4; i++) { | |||
|         arr[i] = brd.create('point',   | |||
|             [function(t) { | |||
|                 return function () {var x = pt[t].X();   | |||
|                                  var x1 = pt[(t+1)%4].X();   |                                  var x1 = pt[(t+1)%4].X();   | ||
|                                  var s = S.Value(); |                                  var s = S.Value(); | ||
|                                  return x+(x1-x)*s; |                                  return x+(x1-x)*s; | ||
|                           }}(i),   |                           }}(i),   | ||
|              function(t) { | |||
|                 return function () {var y = pt[t].Y();   | |||
|                                  var y1 = pt[(t+1)%4].Y();   |                                  var y1 = pt[(t+1)%4].Y();   | ||
|                                  var s = S.Value(); |                                  var s = S.Value(); | ||
|                                  return y+(y1-y)*s; |                                  return y+(y1-y)*s; | ||
|                           }}(i) |                           }}(i) | ||
|             ],   | |||
|             {size:1, name:"",withLabel:false,visible:false}); | |||
|     } | |||
|     col =  function(){return JXG.hsv2rgb(hue.Value()*n,0.7,0.9);}; | |||
|     brd.create('polygon',pt, {fillColor:col}); | |||
|     if(n>0) | |||
|         quadrangle(arr, --n); | |||
|    } | |||
| quadrangle(points,30); | |||
| brd.unsuspendUpdate(); | |||
| </source> | </source> | ||
| [[Category:Examples]] | [[Category:Examples]] | ||
Latest revision as of 10:48, 17 January 2012
Just enjoy this construction...
var brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-6, 6, 10, -8]});
brd.suspendUpdate();
var S = brd.create('slider', [[-5,-6],[5,-6],[0,0.95,1]], {name:'S'});
var hue = brd.create('slider', [[-5,-7],[5,-7],[0,8,36]], {name:'color'});
var points = new Array();
points[0] = brd.create('point',[5, 5], {name:' '});   
points[1] = brd.create('point',[-5, 5], {name:' '});  
points[2] = brd.create('point',[-5, -5], {name:' '}); 
points[3] = brd.create('point',[5, -5], {name:' '});  
 
function quadrangle(pt, n) {
    var col;
    var arr = new Array();
    for(var i = 0; i < 4; i++) {
        arr[i] = brd.create('point', 
            [function(t) {
                return function () {var x = pt[t].X(); 
                                var x1 = pt[(t+1)%4].X(); 
                                var s = S.Value();
                                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.Value();
                                return y+(y1-y)*s;
                         }}(i)
            ], 
            {size:1, name:"",withLabel:false,visible:false});
    }
    col =  function(){return JXG.hsv2rgb(hue.Value()*n,0.7,0.9);};
    brd.create('polygon',pt, {fillColor:col});
    if(n>0)
        quadrangle(arr, --n);
   }
quadrangle(points,30);
brd.unsuspendUpdate();
