Animation of lines: Difference between revisions

From JSXGraph Wiki
No edit summary
No edit summary
 
(3 intermediate revisions by 2 users not shown)
Line 3: Line 3:
</html>
</html>
<jsxgraph width="600" height="600">
<jsxgraph width="600" height="600">
var brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-10, 10, 10, -10], axis: true, grid: false});
var brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-10, 10, 10, -10], axis: true});
var p0 = brd.createElement('point', [0,0], {name:'T',trace:true});
var p0 = brd.create('point', [0,0], {name:'T',trace:true});
var p1 = brd.createElement('point', [7, 5], {name:'A',trace:true});
var p1 = brd.create('point', [7, 5], {name:'A',trace:true});
var p2 = brd.createElement('point', [5, 7], {name:'B',trace:true});
var p2 = brd.create('point', [5, 7], {name:'B',trace:true});
var l = brd.createElement('line', [p1,p2], {name:''});
var l = brd.create('line', [p1,p2], {name:''});
var t = brd.createElement('transform', [function(){return p0.X();},function(){return p0.Y();}], {type:'translate'});
var t = brd.create('transform', [function(){return p0.X();},function(){return p0.Y();}], {type:'translate'});
t.bindTo([p1,p2]);  // The translation is bound to the points, but the points are not updated, yet
t.bindTo([p1,p2]);  // The translation is bound to the points, but the points are not updated, yet


Line 19: Line 19:
The point "p0" controls the movement of the line. The coordinates of p0 define a transformation (translation). This transformation is applied to the points p1 and p2. Of course, p0 should be hidden.
The point "p0" controls the movement of the line. The coordinates of p0 define a transformation (translation). This transformation is applied to the points p1 and p2. Of course, p0 should be hidden.
<source lang="javascript">
<source lang="javascript">
var brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-10, 10, 10, -10], axis: true, grid: false});
var brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-10, 10, 10, -10], axis: true});
var p0 = brd.createElement('point', [0,0], {name:'T',trace:true});
var p0 = brd.create('point', [0,0], {name:'T',trace:true});
var p1 = brd.createElement('point', [7, 5], {name:'A',trace:true});
var p1 = brd.create('point', [7, 5], {name:'A',trace:true});
var p2 = brd.createElement('point', [5, 7], {name:'B',trace:true});
var p2 = brd.create('point', [5, 7], {name:'B',trace:true});
var l = brd.createElement('line', [p1,p2], {name:''});
var l = brd.create('line', [p1,p2], {name:''});
var t = brd.createElement('transform', [function(){return p0.X();},function(){return p0.Y();}], {type:'translate'});
var t = brd.create('transform', [function(){return p0.X();},function(){return p0.Y();}], {type:'translate'});
t.bindTo([p1,p2]);  // The translation is bound to the points, but the points are not updated, yet
t.bindTo([p1,p2]);  // The translation is bound to the points, but the points are not updated, yet


Line 34: Line 34:
<source lang="html4strict">
<source lang="html4strict">
<span onClick="startAnimation1()" style="color:blue">Click here, to start animation 1</span>
<span onClick="startAnimation1()" style="color:blue">Click here, to start animation 1</span>
<span onClick="startAnimation2()" style="color:red">Click here, to start animation 2</span>
</source>
</source>


[[Category:Examples]]
[[Category:Examples]]

Latest revision as of 09:29, 7 June 2011

Click here, to start animation

The JavaScript code

The point "p0" controls the movement of the line. The coordinates of p0 define a transformation (translation). This transformation is applied to the points p1 and p2. Of course, p0 should be hidden.

var brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-10, 10, 10, -10], axis: true});
var p0 = brd.create('point', [0,0], {name:'T',trace:true});
var p1 = brd.create('point', [7, 5], {name:'A',trace:true});
var p2 = brd.create('point', [5, 7], {name:'B',trace:true});
var l = brd.create('line', [p1,p2], {name:''});
var t = brd.create('transform', [function(){return p0.X();},function(){return p0.Y();}], {type:'translate'});
t.bindTo([p1,p2]);  // The translation is bound to the points, but the points are not updated, yet

function startAnimation1() {
  p0.moveTo([-5,-8],1500);
}
<span onClick="startAnimation1()" style="color:blue">Click here, to start animation 1</span>