Polygon through ordered set of gliders: Difference between revisions

From JSXGraph Wiki
No edit summary
No edit summary
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<jsxgraph height="500" width="600" board="board"  box="jxgbox">
<jsxgraph height="500" width="600" board="board"  box="jxgbox">
     board = JXG.JSXGraph.initBoard('jxgbox', {axis:true, originX: 250, originY: 250, unitX: 50, unitY: 50});
     board = JXG.JSXGraph.initBoard('jxgbox', {axis:true, boundingbox: [-5, 5, 7, -5]});
     board.suspendUpdate();
     board.suspendUpdate();
     var p = [];
     var p = [];
     p[0] = board.createElement('point', [-1,2], {style:4,name:''});
     p[0] = board.create('point', [-1,2], {size:2,name:''});
     p[1] = board.createElement('point', [0,-2], {style:4,name:''});
     p[1] = board.create('point', [0,-2], {size:2,name:''});
     p[2] = board.createElement('point', [2,1], {style:4,name:''});
     p[2] = board.create('point', [2,1], {size:2,name:''});
      
      
     graph = board.createElement('curve', board.neville(p),{strokeWidth:5,strokeOpacity:0.5});
     graph = board.create('curve', JXG.Math.Numerics.Neville(p),{strokeWidth:5,strokeOpacity:0.5});


     gliders = [];
     gliders = [];
     gliders[0] = board.createElement('glider', [-1,0,graph],{style:6});
     gliders[0] = board.create('glider', [-1,0,graph],{size:4});
     gliders[1] = board.createElement('glider', [-0.5,-2,graph],{style:6});
     gliders[1] = board.create('glider', [-0.5,-2,graph],{size:4});
     gliders[2] = board.createElement('glider', [1,-3,graph],{style:6});
     gliders[2] = board.create('glider', [1,-3,graph],{size:4});
     gliders[3] = board.createElement('glider', [1.5,-1,graph],{style:6});
     gliders[3] = board.create('glider', [1.5,-1,graph],{size:4});
      
      
     board.createElement('polygon',gliders,{strokeColor:'red'});
     board.create('polygon',gliders,{strokeColor:'red'});
      
      
     board.updateConditions = function() {
     board.updateConditions = function() {
Line 21: Line 21:
         for (i=1;i<gliders.length;i++) {
         for (i=1;i<gliders.length;i++) {
             if (gliders[i].position<gliders[i-1].position) {
             if (gliders[i].position<gliders[i-1].position) {
                 //gliders[i].coords = new JXG.Coords(JXG.COORDS_BY_USER, gliders[i-1].coords.usrCoords, board);
                 gliders[i].coords = new JXG.Coords(JXG.COORDS_BY_USER, gliders[i-1].coords.usrCoords, board);  
                gliders[i].setPosition(gliders[i-1].X(),gliders[i-1].Y());
                 gliders[i].update();
                 gliders[i].update();
             }
             }
Line 32: Line 31:
===The underlying JavaScript code===
===The underlying JavaScript code===
<source lang="javascript">
<source lang="javascript">
     board = JXG.JSXGraph.initBoard('jxgbox', {axis:true, originX: 250, originY: 250, unitX: 50, unitY: 50});
     board = JXG.JSXGraph.initBoard('jxgbox', {axis:true, boundingbox: [-5, 5, 7, -5]});
     board.suspendUpdate();
     board.suspendUpdate();
     var p = [];
     var p = [];
     p[0] = board.createElement('point', [-1,2], {style:4,name:''});
     p[0] = board.create('point', [-1,2], {size:2,name:''});
     p[1] = board.createElement('point', [0,-2], {style:4,name:''});
     p[1] = board.create('point', [0,-2], {size:2,name:''});
     p[2] = board.createElement('point', [2,1], {style:4,name:''});
     p[2] = board.create('point', [2,1], {size:2,name:''});
      
      
     graph = board.createElement('curve', board.neville(p),{strokeWidth:5,strokeOpacity:0.5});
     graph = board.create('curve', JXG.Math.Numerics.Neville(p),{strokeWidth:5,strokeOpacity:0.5});


     gliders = [];
     gliders = [];
     gliders[0] = board.createElement('glider', [-1,0,graph],{style:6});
     gliders[0] = board.create('glider', [-1,0,graph],{size:4});
     gliders[1] = board.createElement('glider', [-0.5,-2,graph],{style:6});
     gliders[1] = board.create('glider', [-0.5,-2,graph],{size:4});
     gliders[2] = board.createElement('glider', [1,-3,graph],{style:6});
     gliders[2] = board.create('glider', [1,-3,graph],{size:4});
     gliders[3] = board.createElement('glider', [1.5,-1,graph],{style:6});
     gliders[3] = board.create('glider', [1.5,-1,graph],{size:4});
      
      
     board.createElement('polygon',gliders,{strokeColor:'red'});
     board.create('polygon',gliders,{strokeColor:'red'});
      
      
     board.updateConditions = function() {
     board.updateConditions = function() {

Latest revision as of 13:01, 3 March 2021

The underlying JavaScript code

    board = JXG.JSXGraph.initBoard('jxgbox', {axis:true, boundingbox: [-5, 5, 7, -5]});
    board.suspendUpdate();
    var p = [];
    p[0] = board.create('point', [-1,2], {size:2,name:''});
    p[1] = board.create('point', [0,-2], {size:2,name:''});
    p[2] = board.create('point', [2,1], {size:2,name:''});
    
    graph = board.create('curve', JXG.Math.Numerics.Neville(p),{strokeWidth:5,strokeOpacity:0.5});

    gliders = [];
    gliders[0] = board.create('glider', [-1,0,graph],{size:4});
    gliders[1] = board.create('glider', [-0.5,-2,graph],{size:4});
    gliders[2] = board.create('glider', [1,-3,graph],{size:4});
    gliders[3] = board.create('glider', [1.5,-1,graph],{size:4});
    
    board.create('polygon',gliders,{strokeColor:'red'});
    
    board.updateConditions = function() {
        var i;
        for (i=1;i<gliders.length;i++) {
            if (gliders[i].position<gliders[i-1].position) {
                gliders[i].coords = new JXG.Coords(JXG.COORDS_BY_USER, gliders[i-1].coords.usrCoords, board); 
                gliders[i].update();
            }
        };
    }
    board.unsuspendUpdate();