The Journal of Online Mathematics and Its Applications, Volume 7 (2007)
GeoGebra, Markus Hohenwarter and Judith Preiner
In GeoGebra you are able to influence both the algebraic and the graphical representation of an object directly. This is called a bidirectional connection of representations as we can start on either side to get to the other. Let us examine the consequences of this approach a little bit more using the example of a circle and its equation.
In a DGS you can construct a circle by clicking on the circle's center A and a second point B to specify its radius. Like some other dynamic geometry systems, GeoGebra can show the equation of such a circle. When you move one of the points in the graphics window, the circle's equation will be updated automatically.
With a typical CAS we can go the other way round and plot an implicit equation such as c: (x - 3)2 + (y - 3)2 = 8 to get a static image of a circle. In GeoGebra, you simply type the equation into the input field. The applet below shows this situation and lets you change the circle's equation easily: Double click on c in the algebra window, change its equation and press Enter.
Contrary to the DGS construction above, we don't see the center point of the circle here. However, GeoGebra "knows" that c is a circle, so you can use the command Center[c] in the input field to get this point. In this case, the center point appears as a dependent object in the algebra window. In the previous case, the center was a free object and the circle was a dependent object.
There is something important about the last applet that we didn't mention yet: Even if you start with an equation such as c: (x - 3)2 + (y - 3)2 = 8 you can move the resulting object in GeoGebra's graphics window by dragging it with the mouse. Try it with the circle in the applet above! You are able to influence both the circle's equation and its image directly, and thus have a bidirectional connection of these representations. This is a new feature that distinguishes GeoGebra from a traditional DGS or CAS. Moreover, you can also use this free circle to do geometric constructions with the mouse, as we did to get its tangent lines in the following dynamic figure.
Note that you may only change free objects directly in GeoGebra. In the first construction you are able to move the two free points A and B using the mouse and thus change position and radius of the circle. In the second example where we started out with the circle's equation, dragging the circle will only affect its position.
Perhaps you noticed that the dependent center point of the circle in the second construction can be moved too--although it is not a free object. This is possible whenever all parent objects are free. In this case, the center point's parent is a free circle. When you drag this dependent center point, GeoGebra really moves the circle. This is a convenient feature to allow users to drag certain dependent objects too.