Overview

[url=https://www.geogebra.org]GeoGebra[/url] is an open source mathematics education software being used by millions of users worldwide. It is mainly used to visualize mathematical relations in a dynamic way by supporting reading correlations off not only visually but also numerically.[br][br]This approach has been continuously extended since 2004 by using an embedded computer algebra system (CAS) in GeoGebra in version 2.4. In those days CAS [i]JSCL[/i] was used which has been changed to [i][url=http://webuser.hs-furtwangen.de/~dersch/jasymca2/indexEN.html]Jasymca[/url][/i] (2008, GeoGebra 3.0), [i][url=http://math.nist.gov/javanumerics/jama/]Jama[/url][/i] (2009, GeoGebra 3.2), [i]Yacas/[url=http://www.mathpiper.org/]Mathpiper[/url][/i] (2011, GeoGebra 3.2-4.0), [i][url=http://www.reduce-algebra.com/]Reduce[/url][/i] (2011, GeoGebra 4.2) and [i][url=http://www-fourier.ujf-grenoble.fr/~parisse/giac.html]Giac[/url][/i] (2013, GeoGebra 4.4).
Interest in using CAS support in GeoGebra started a more specialized interest in computing the algebraic equation of more general geometric objects than lines and circles, namely locus equations. A team of mathematicians (including the first author) located in Spain offered scientific partnership and collaboration for the GeoGebra team (including the second author) located in Austria, and their joint work was funded by the [i]Google Summer of Code[/i] program in 2010 by supporting a Spanish university student [i][url=http://www.serabe.com/tag/gsoc/]Sergio Arbeo[/url][/i] to implement the computation of algebraic locus equations for GeoGebra 4.0. Arbeo programmed the computations by using an extra CAS [i][url=http://krum.rz.uni-mannheim.de/jas/]JAS[/url][/i] in GeoGebra, but his code was later modified by the second author to use Reduce (and even later Giac) instead.[br][br]As a result, locus equation computations are already present in GeoGebra since version 4.2 and because of the numerous user feedback the newer versions (including GeoGebra 5) include some additional enhancements and bug fixes as well. Also many users found the introduced [b]LocusEquation[/b] command useful and easy to use in education as well. In Section 2 we consider some possible classroom uses for the [b]LocusEquation[/b] command.[br][br]However Arbeo covered a wide set of classroom problems, meanwhile new mathematical methods appeared to handle some problematic situations. The [url=http://dx.doi.org/10.1016/j.cad.2014.06.008]joint work[/url] of [i]Montes[/i], [i]Recio,[/i] [i]Abanades[/i], [i]Botana[/i] and the [i]Singular[/i] CAS team yielded to have a powerful method to compute locus equations by using the Gröbner cover (grobcov) package in Singular. In this way GeoGebra has been extended to outsource computations to [i][url=https://code.google.com/p/singularws/]SingularWS[/url][/i], an external web service computing locus equations for GeoGebra (among other computations). This method has been found to be extensible to compute not only locus equations but envelopes as well. In Section 3 we show some of these envelopes, pointing out the possibility of introducing them also in secondary schools.

An example

According to Wikipedia, locus is a [i]set of points whose location satisfies or is determined by one or more specified conditions[/i]. Being more specific, in GeoGebra locus is the set of output points P' constructed by given steps while the input point [color=#7d7dff]P[/color] is running on a certain path. In other words, let point [color=#7d7dff]P[/color] be an element of a path, and let point P' is the output point for the chosen input [color=#7d7dff]P[/color] after some transformations of [color=#7d7dff]P[/color] into P'.[br][br]In general the locus is a curve as the output set of points P', since also the input points [color=#7d7dff]P[/color] build up a curve. For example, let the input curve be circle c and [color=#7d7dff]P[/color] is a perimeter point of c. Let the center of the circle be [color=#0000ff]C[/color]. Now let us construct point P' such that P' is the midpoint of [color=#7d7dff]P[/color][color=#0000ff]C[/color]. Clearly, the locus curve here is also a circle described by center [color=#0000ff]C[/color] and half of the radius of c.[br][br]This example can be entered into GeoGebra either by using the graphical user interface with the mouse, or by the keyboard in the Algebra Input (here we put point [color=#0000ff]C[/color] into (2,3) and use radius 4):[br][br][list][*][color=#0000ff]C[/color]=(2,3)[br][/*][*]c=Circle[[color=#0000ff]C[/color],4][br][/*][*]P=Point[c][br][/*][*]P'=Midpoint[[color=#7d7dff]P[/color],[color=#0000ff]C[/color]][br][/*][*]Locus[P',[color=#7d7dff]P[/color]][/*][/list][br]Now by using [b]LocusEquation[P',[color=#7d7dff]P[/color]][/b] instead of [b]Locus[P',[color=#7d7dff]P[/color]][/b] we can also check the result algebraically: an implicit curve is displayed with the equation [math]x^2-6x+y^2-4y=-9[/math]. It is also possible to see how the equation changes dynamically when point [color=#0000ff]C[/color] is dragged.[br][br]How can this equation be computed mathematically? Let us define coordinates [math]x_C[/math], [math]y_C[/math], [math]x_{P}[/math], [math]y_P[/math], [math]x_{P'}[/math] and [math]y_{P'}[/math] for the points defined above. Now the following equations are valid:[br][br][list=1][*][math]x_C=2[/math][br][/*][*][math]y_C=3[/math][/*][*][math](x_P-x_C)^2+(y_P-y_C)^2=4^2[/math][/*][*][math]x_{P'}=\frac{x_P+x_C}{2}[/math][/*][*][math]y_{P'}=\frac{y_P+y_C}{2}[/math][/*][/list][br]What we need is to convert this equation system to a single equation containing only coordinates of point P'. In algebra this computation is called elimination, i.e. eliminating all variables except [math]x_{P'}[/math] and [math]y_{P'}.[/math][br][br]In GeoGebra this computation is achieved by the Giac CAS in the background, but it can also be computed directly by using a GeoGebra command (which calls the appropriate Giac statement):
Here the user can add command [b]LocusEquation[[color=#ff0000]loc1[/color]][/b] to make GeoGebra compute the equation automatically. By clicking on the marble to the left of the input line GeoGebra will also display the geometric form of the equation, i.e. another circle will be drawn (the same as [color=#ff0000]loc1[/color]).

Motivation

A definition of a circle, according to The Free Dictionary is [i]a plane curve everywhere equidistant from a given fixed point, the center[/i]. Now by constructing the tangent line in a point of the circle we find that the tangent is perpendicular to the radius. When considering the trace of the tangent lines, we find that the union U of the tangents of a circle is the whole plane except the disc inside the circle.
Now let us consider the same figure from another point of view. Having the set U we may be interested of a curve such that its tangents are the lines of U. Such a curve can be the given circle, but that it is the only possible curve (that is, the question has a unique answer) is not straightforward.
On the other hand, each element of U is equidistant from the center of the circle because distance is defined by measuring orthogonal projection. This idea leads us to define a parabola by considering the set U' of lines being equidistant from a given point [color=#0000ff]F[/color] and a given line [color=#0000ff]d[/color]. To measure the distance from line [color=#0000ff]d[/color] we consider each point [color=#7d7dff]D[/color] of line [color=#0000ff]d[/color] and take the perpendicular bisector of points [color=#0000ff]F[/color] and [color=#7d7dff]D[/color].
We have already mentioned in the previous section that usual definition of a parabola p' is that it is the locus of points P' which are equidistant from focus [color=#0000ff]F'[/color] and directrix d'. Now let [color=#7d7dff]D' [/color] be an arbitrary point of d', line b the bisector of segment [color=#0000ff]F'[/color][color=#7d7dff]D' [/color] and P' the intersection of the perpendicular to d' in [color=#7d7dff]D' [/color] and b. A well-known property of b that it is the tangent of parabola p' in point P'. To prove that, consider the following figure.
Let us assume that b is not a tangent of parabola p' in point P'. Then there is another point P'' on b, also element of the parabola, that is b is a secant line of p'. Assumably this point P'' was created by foot point [color=#7d7dff]D''[/color] (element of d'), for which [color=#7d7dff]D''[/color]P''=P''[color=blue]F'[/color]. Since b is the bisector of [color=#7d7dff]D'[/color][color=#0000ff]F'[/color], also [color=#7d7dff]D'[/color]P''=P''[color=#0000ff]F'[/color] holds. But this means that [color=#7d7dff]D'[/color]P''=[color=#7d7dff]D''[/color]P'', that is in triangle [color=#7d7dff]D'[/color][color=#7d7dff]D''[/color]P'' (which is a right triangle) hypothenuse [color=#7d7dff]D'[/color]P'' and cathetus [color=#7d7dff]D''[/color]P'' have the same length, which is impossible. This contradiction ensures that b is a tangent, not a secant.
Thus we proved that these two different definitions of a parabola (i.e. the classical by using locus, and this second one which uses the concept of trace of the bisector) is equivalent, that is they define the same parabola.

Information