Difference between revisions of "Points with constraints (dup)"
A WASSERMANN (talk  contribs) 
m (moved Points with constraints to Points with constraints (dup): contained in Points) 
(No difference)

Revision as of 13:14, 8 June 2011
A point can depend on another geometric object. This dependence can be given by using JavaScript syntax or by using GEONExT syntax.
GEONExT syntax
Here is an example using GEONExT syntax. The point A is draggable. The point B depends on point A: Its ycoordinate is set to 1 and its xcoordinate is set to the xcoordinate of A.
var b = JXG.JSXGraph.initBoard('jxgbox1', {originX: 40, originY: 100, unitX: 40, unitY: 40});
var free = b.createElement('point',[0,0], {name:'A', style:5});
var dep = b.createElement('point',["X(A)",1], {name:'B', style:8});
JavaScript syntax
Now we do exactly the same with JavaScript syntax.
var b2 = JXG.JSXGraph.initBoard('jxgbox2', {originX: 40, originY: 100, unitX: 40, unitY: 40});
var free = b2.createElement('point',[0,0], {name:'A', style:5});
var dep = b2.createElement('point',[function(){ return free.X();}, 1], {name:'B', style:8});
The JavaScript syntax is much more robust against changes of the construction, but of course it looks more complicated. Lets look at it again in detail: First we construct a free, draggable point called "free".
var free = b2.createElement('point',[0,0], {name:'A', style:5});
Then we construct the dependent point "dep".
var dep = b2.createElement('point',[function(){ return free.X();}, 1], {name:'B', style:8});
The first coordinate of "dep" is given as an anonymous function:
function(){ return free.X();}
This function returns the xcoordinate of the point "free".