Last modified 22 months ago
Last modified on 08/03/10 17:13:52
Algorithm of algebraization of the problem
(Miguel, July 27 2010)
- Given a (dynamic) geometric construction of a locus set (i.e. set traced by the locus-point as the moving point runs along its path) we asign coordinates (numeric or symbolic) to all the points in locus.getAllPredecessors(). The points in the construction satisfy algebraic conditions depending on their construction. These conditions are translated into polynomials in the symbolic coordinates (variables) provided by (some of) the points.
- The numeric/symbolic coordinate assignment is made according to the following ideas:
- Symbolic coordinates are variables, they reflect the idea of variation, of change, of movement, so as a general rule, symbolic coordinates will be asigned to the points "that move".
- A dynamic geometric construction can be moved (by moving free points and PointOnPaths) and we are interested in the equation of a locus for a particular "snapshot" (instance) of the construction (i.e. the static diagram obtained when we "stop" moving the elements with some degree of freedom, namely free points and PointOnPaths).
- In this particular instance ("snapshot") of the diagram the locus point has a particular exact position (as indicated by the numerical coordinates indicated by GeoGebra in the algebra window) and we want the equation of the set of all positions taken by the locus point when we move the moving point (and ONLY the moving point). Thus, since the locus point moves when we move the moving point, we have to assign symbolic coordinates (in our case (u_1, u_2)) to the locus point. The movement of the moving point is also also pickep up by assigning symbolic coordinates to it (in this case x_i, x_(i +1)) understanding that these variables have to satisfy the equation of the object where the moving point lies).
- This makes all other locus predecessor points take numerical or symbolic coordinates depending on whether they move or not when the moving point is moved. That is, depending on whether the moving point is one of its predecessors or not.
- Thus, any free point and any PointOnPath different from the moving point, takes numerical coordinates (because they do not move, so its coordinates do not change when the moving point is moved).
- But if a point is an Intersect point, then its coordinates are numeric if it does not move and symbolic it it does move when the moving point is moved. Again, this movement is captured by the symbolic coordinates.
- Summarizing, the only points taking symbolic coordinates are the locus point, the moving point and the points X in the set {locus predecessors} that depend on the moving point (i.e. the moving point is in the set {predecessors of X}) or than are a PointOnPath on a path f that depends on the moving point (i.e. the moving point is in the set {predecessors of f}).
- The points with symbolic coordinates satisfy polynomial conditions coming from the objects (paths) where they were taken from. These conditions are given by the coordinates (numerical or symbolic) of the points that determine the path (or paths in the case of a Intersect point) where they were taken from. In the case of a PointOnPath P along a path f that depends on the moving point, the condition to be added is "P is a pointOnPath in f", which includes "P is in f" AND "P respects the appropriate proportion conditions with respect to the parents of f".
- These polynomials in u_1, u_2, x_1, x_2,...,x_k are the generators of a ideal. Using special bases for this ideal (Groebner bases), we can "eliminate the variables x's," getting a polynomial in u_1 u_2 that will be the locus equation. In fact the equation will provide in general a superset of the locus set.
- Remaks:
- LAD: works in all generality, all points take symbolic coordinates
- In LADuation: only free points take numeric coordinates
