# DynamicCoordinates Command

From GeoGebra Manual

- DynamicCoordinates[ <Point>, <x-Coordinate>, <y-Coordinate> ]
- Creates a new point with given coordinates: this point is dependent, but can be moved. Whenever you try to move the new point to coordinates (x, y), the given point is moved there and coordinates for the new point are calculated. Works best if the given point is not visible and dragging is done with the mouse. At least one of the given coordinates should depend on the given point.

**Examples:**

- Let
*A*be a point and`B = DynamicCoordinates[A, round(x(A)), round(y(A))]`

. When you try to move*B*to (1.3, 2.1) using the Move Tool, point*A*becomes (1.3, 2.1) and*B*appears at (1,2). `B = DynamicCoordinates[A, x(A), min(y(A), sin(x(A)))]`

creates a point under sin(x).

**Note:**`PointIn[y < sin(x)]`

is the easier solution in this case.

The following examples show other ways to restrain the positions of a point *C*:

- Let
`A = Point[xAxis]`

and`B = Point[xAxis]`

.

- Now type in the Input Bar:
`DynamicCoordinates[B, Min[x(B), x(A)], 0]`

and press Enter`SetVisibleInView[B, 1, false]`

and press Enter`SetLayer[C, 1]`

and press Enter- Now,
*C*cannot be moved to the right of*A*.

- Define
`A=(1, 2)`

.

- Now, type in the Input Bar:
`SetVisibleInView[A, 1, false]`

and press Enter`B = DynamicCoordinates[A, If[x(A) > 3, 3, If[x(A) < -3, -3, If[x(A) < 0, round(x(A)), x(A)]]], If[x(A) < 0, 0.5, If[y(A) > 2, 2, If[y(A) < 0, 0, y(A)]]]]`

and press Enter

- This example makes
*A*a sticky point when a point*C*is dragged near it. Define`A = (1, 2)`

and`B = (2, 3)`

.

- Now, type in the Input Bar:
`SetVisibleInView[B, 1, false]`

and press Enter`C = DynamicCoordinates[B, If[Distance[A, B] < 1, x(A), x(B)], If[Distance[A, B] < 1, y(A), y(B)]]`

.

- DynamicCoordinates[ <Point>, <x-Coordinate>, <y-Coordinate>, <z-Coordinate> ]
- Creates a new 3D point with given coordinates: this point is dependent, but can be moved. Whenever you try to move the new point to coordinates (x, y, z), the given point is moved there and coordinates for the new point are calculated. Works best if the given point is not visible and dragging is done with the mouse. At least one of the given coordinates should depend on the given point.