# Difference between revisions of "Points with constraints (dup)"

A WASSERMANN (talk | contribs) |
|||

Line 12: | Line 12: | ||

<html> | <html> | ||

<link rel="stylesheet" type="text/css" href="http://jsxgraph.uni-bayreuth.de/distrib/jsxgraph.css" /> | <link rel="stylesheet" type="text/css" href="http://jsxgraph.uni-bayreuth.de/distrib/jsxgraph.css" /> | ||

− | |||

<script type="text/javascript" src="http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js"></script> | <script type="text/javascript" src="http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js"></script> | ||

<div id="jxgbox1" class="jxgbox" style="width:600px; height:200px;"></div> | <div id="jxgbox1" class="jxgbox" style="width:600px; height:200px;"></div> |

## Revision as of 19:20, 29 October 2009

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 y-coordinate is set to 1 and its x-coordinate is set to the x-coordinate 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 x-coordinate of the point "free".