Two curves are affinely equivalent if there exists an affine mapping transforming one of them onto the other. Thus, detecting affine equivalence comprises, as important particular cases, similarity, congruence and symmetry detection. In this paper we generalize previous results by the authors to provide an algorithm for computing the affine equivalences between two parametric curves of certain types, in any dimension. In more detail, the algorithm is valid for rational curves, and for parametric curves with non-rational but meromorphic components admitting a rational inverse. Unlike other algorithms already known for rational curves, the algorithm completely avoids polynomial system solving, and uses bivariate factoring, instead, as a fundamental tool. The algorithm has been implemented in the computer algebra system Maple, and can be freely downloaded and used.
Introduction.We say that two curves are affinely equivalent if one of them is the image of the other curve by means of an affine mapping. If the affine mapping preserves angles, then the two curves are similar, i.e. both correspond to the same shape and differ only in position and/or scaling. If the affine mapping preserves distances, the curves are congruent, so they differ only in position. Finally, if the two curves coincide, finding the self-congruences of the curve is equivalent to computing its symmetries.Because of the nature of the problem, it has received some attention in the applied fields of Computer Aided Geometric Design, Pattern Recognition and Computer Vision. In the last years, the problem has been also addressed in the Computer Algebra field, and this paper follows this trend. Examples of papers where this question has been studied are [2,4,7]; for other related papers, the interested reader can check the bibliographies of [2,4,7]. These papers address the problem for rational curves, i.e. parametric curves whose components are quotients of polynomial functions, and aim to the more general question of checking projective, and not just affine, equivalence. While [2,7] provide solutions for this problem, with different strategies, for curves in any dimension and using as a fundamental tool polynomial system solving, the paper [4] addresses the question only for space rational curves, but employing bivariate factoring as an alternative to solving polynomial systems; this leads to better timings and performance. To do this, in [4] two rational invariants, i.e. two functions rationally depending on the parametrizations to be studied which stay invariant under projective transformations, are found and used.In this paper we generalize the ideas of [4] in three different ways. First, while the development of the invariants in [4] was more of an "art" than of a "craft", here we provide a complete algorithm to generate such invariants. Second, the technique is valid for curves in any dimension, and not just space curves, which was the case addressed in [4]: we provide an algorithm, that can be downloaded from [5], to generate the corresponding inv...