enumeration problems in geometry, robotics and vision

18

Upload: independent

Post on 30-Nov-2023

0 views

Category:

Documents


0 download

TRANSCRIPT

MEGA'94, SantanderEnumeration problems in Geometry, Robotics and Vision�B. Mourrain,SAFIRy,2004 route des Lucioles,06565 Valbonne,[email protected] paper presents di�erent examples of enumerative geometry in robotics and vision.The aim is to obtain intersection formulas giving the number of solutions (on C ) of someclasses of problems which appear in such applied �elds. The �rst family of examples involvescurves and surfaces dealing with distances. In such problems, the varieties have a commonpart at in�nity, called the umbilic, that we must not take into account in the enumeration.A new formula is obtained by means of simple algebraic manipulations and the approachis compared with the usual techniques of blowing up. In a second part, we consider thevariety of displacements from an algebraic point of view. A structure, similar to whatis called an algebra with straightening laws, is exhibited and allows us to compute thedegree of the algebra representing the functions on the displacements. This approach has animmediate application in the direct kinematic problem of a parallel robot and in the problemof reconstruction from points in vision.The objective of this work is to give intersection formulas in algebraic problems appearing inMechanics and Vision. We begin with problems in P2 where distances are involved. The secondsection describes the case of surfaces in P3 which have a conic at in�nity (called the umbilic)in common. In other words, we are interested here in intersection problems on the space ofspheres. A formula is given for the number of common points outside this umbilic. The thirdsection deals with the degree of varieties, corresponding to segments whose extremities are ontwo curves. Following this progression, the next section is devoted to intersection in the varietyof displacements. In this section, we analyze precisely the ring of functions on the variety ofdisplacements and give its multiplicity, which allows us to bound the number of solutions in thedirect kinematic problem of a parallel robot and in the problem of reconstruction from pointsin vision.�Work partially supported by PoSSo, EEC ESPRIT BRA contract 6846.ySAFIR is a common project to INRIA (Sophia-Antipolis), Univ. De Nice-Sophia-Antipolis, CNRS.1

1 Plane curves with circularityIn this part, we consider curves in P2(C ) ( P2(C ) is the projective space on C of dimension 2),de�ned by equations in the variables x; y; t. The line at in�nity is de�ned by V(t = 0) and onthis line we consider two special points I = (1 : i : 0) and J = (1 : �i : 0). These points are onall circles of equations x2 + y2 + 2a t x + 2 b t y + c t2 = 0 (where a; b; c 2 C ) and are called thecyclic points.De�nition 1.1 | Let C be a curve of P2. The circularity of C is the minimum of the multi-plicities of I and J on C.If the curve is de�ned by a real equation, the two multiplicities are equal.Proposition 1.2 | Let C be a curve of P2 de�ned by an equation of degree d:f(x; y; t) = f0(x; y) + f1(x; y) t+ � � �+ fd(x; y) tdwith f 2 R[x; y; t] (fd is a constant). Let cj be the greatest power of x2 + y2 dividing fj(x; y) sothat fj(x; y) = (x2 + y2)cjgj(x; y) (with gcd(gj; x2 + y2) = 1). Let f�(x; y; u) = Pj ucjgj(x; y).The circularity of C is1. the minimum of fcj + jg,2. or equivalently deg(f)� deg(f�).Proof. For the �rst point, the multiplicity of I is by de�nition equal to the valuation of faround this point (see [3] or [2]), considering this point as the origin. Taking Y = y=x, T = t=xand U = Y � i, we obtain a polynomial of the formf(1; Y; T ) = f(1; i+ U; T ) = f0(1; i+ U) + Tf1(1; i+ U) + � � �+ fdT dThe multiplicity of I will be the valuation of this polynomial in U; T . Each real polynomialfj(1; Y ) is of the form (1 + Y 2)cjgj(1; Y ) = (Y � i)cj(Y + i)cjgj(1; Y ) with gj(1; i) 6= 0 byassumption. Thus f(1; i+ U; T ) = U c0h0(U) + T U c1 h1(U) + � � �+ hd T dwhere each polynomial hj(U) has a non-zero constant term. This implies that the least degreein U; T is the minimum of the degree of T jU cj .For the second point of the proposition, remark that the degree of each term ucjgj(x; y) isequal to cj + d� (2 cj + j) = d� (cj + j) so that the maximal degree is equal to the d� c wherec, the minimum of fcj + jg, is equal to the circularity. 2Proposition 1.3 | Let C1 (resp. C2) be a curve of P2 of degree d1 (resp. d2) and circularityc1 (resp. c2). Assume that these curves have only a �nite number of points N (counted withmultiplicity) in common in A 2 (the a�ne space of dimension 2). ThenN � d1d2 � 2 c1 c2: (1)If the curves have no other points than I; J at in�nity, this two points having the same multi-plicity on each curve and if the curves are not tangent at I or J , equality holds in (1).2

Proof. As these two curves meet in a �nite set of points, according to B�ezout theorem (see [3],[2] or [11]), we have d1 d2 = XP2C1\C2m(P;C1 \ C2):where m(P;C1 \ C2) is the multiplicity of intersection of C1 and C2 at P . We know that I andJ are of multiplicity c1 (resp. c2) on C1 (resp. C2) and thus appear at least with multiplicityc1 c2 (see [3]) in the intersection (and more if the curves are tangent at these points). Thereforethe number of points in A 2 isN � XP2C1\C2;P 6=I;P 6=Jm(P;C1 \ C2) � d1 d2 � 2 c1 c2Equality holds if the curves are not tangent at these points, if there are no other common pointsat in�nity and if the multiplicity of I and J are the same. 2Examples� Consider the intersection of two distinct circles C1; C2 in the a�ne plane of equationx2 + y2 � 2 ai x� 2bi x+ ci = 0 (i 2 f1; 2g). This system is equivalent to8><>: u� 2 a1 x� 2b1 x+ c1 = 0u� 2 a2 x� 2b2 x+ c2 = 0u� (x2 + y2) = 0and the number of common points is 2� 2� 2� 1� 1 = 2.� Let C1; C2 be sextics of circularity 3. Then the number of common points in the a�nepart is at most 6� 6� 2� 3� 3 = 18.This ends the easy case of curves of P2 which contains the cyclic points with multiplicities.Let us now consider the case of surfaces in P3 de�ned by constrains of distances.2 Surfaces with circularityIn this section we are considering surfaces of P3, de�ned by homogeneous equations in thevariables x; y; z; t. The plane at in�nity will be V(t = 0) and on this plane we will consider aspecial curve = V(x2+y2+z2 = 0; t = 0), which is called the umbilic or the imaginary circle.De�nition 2.1 | Let S be a surface of P3. The circularity of S is the multiplicity of onS. We note it mS(). In the same way, we can de�ne the circularity of a curve C of P3 asPP2C\ mC(P ) where mC(P ) is the multiplicity of P on C.Property 2.2 | Let S be a surface of P3 de�ned by an equation of degree d:f(x; y; z; t) = f0(x; y; z) + f1(x; y; z) t+ � � �+ fd(x; y; z) td(fd(x; y; z) = fd is a constant). Let cj be the greatest power of x2 + y2 + z2 which dividesfj(x; y; z) so that fj(x; y; z) = (x2 + y2 + z2)cjgj(x; y; z). Let f�(x; y; z; u) = Pj ucjgj(x; y; z).The circularity of S is1. the minimum of fcj + jg, 3

2. or equivalently deg(f)� deg(f�).Proof. Let us prove the �rst point. The multiplicity of on S is the valuation of f arounda generic point (1; Y0; Z0; 0) of (see [3], [10], [11][p 388-394]). Taking again Y = y=x, Z =z=x,T = t=x and Y = Y0+U , Z = Z0+U ,T =W (with 1+Y 20 +Z20 = 0) we obtain a polynomialof the formf(1; Y; Z; T ) = f(1; Y0+U;Z0+V; T ) = f0(1; Y0+U;Z0+V )+Tf1(1; Y0+U;Z0+V )+ � � �+fdT dAs 1+Y 20 +Z20 = 0 and fj(x; y; z) = (x2+y2+z2)cjgj(x; y; z), the valuation of fj(1; Y0+U;Z0+V )in U; V is at least cj. Moreover, we can choose (1; Y0; Z0; 0) in a non-empty open subset of such that gj(1; Y0; Z0) 6= 0 (otherwise gj would be divisible by x2+y2+z2), so that the valuationof fj(1; Y0 + U;Z0 + V ) in U; V is exactly cj.Finally, the valuation of f(1; Y0 + U;Z0 + V;W ) is the minimum of the valuation cj + j ofeach term T jfj(1; Y0 + U;Z0 + V ) (because no cancelation between such terms can appear),which proves that the circularity of S is the minimum of fcj + jg .To prove the second point, remark that the degree of a term ucjgj(x; y; z) is cj+(d�j�2 cj) =d� j � cj and the maximal degree is d� c where c = minj(cj + j). 2Theorem 2.3 | Let S1 (resp. S2, S3) be a surface of P3 of degree d1 (resp. d2, d3) andcircularity c1 (resp. c2,c3). Assume that these surfaces have only a �nite number N of pointsin common in A 3 . ThenN � d1d2d3 � 2 (c1 c2 d3 + c1 c3 d2 + c2 c3 d1) + 6 c1 c2 c3:In the case where di = 2 ci for some i (one of the surfaces is of maximal circularity), we haveN � 2 (d1 � c1) (d2� c2) (d3 � c3).We need the following lemma :Lemma 2.4 | Let f(x; y; z; t) be a homogeneous polynomial of degree d and circularity c andf�(x; y; z; u) be the polynomial de�ned above. We note �f(x; y; z; u; v) the homogenization of thepolynomial f� in v. The valuation of �f(X;Y; Z; 1;X2 + Y 2 + Z2) at the origin is d� 2 c.Proof. The polynomial �f(x; y; z; u; v) of degree d� c is of the form :�f(x; y; z; u; v) =Xj ucjgj(x; y; z)vd�c�(d� cj�j) =Xj ucjgj(x; y; z)vcj+j�c:where g(x; y; z) is a homogeneous polynomial of degree d�2 cj � j. Consequently, the valuationof �f(X;Y; Z; 1;X2+ Y 2+Z2) is the minimum of the degree of gj(X;Y; Z)(X2+Y 2+Z2)cj+j�cwhich is d� 2 cj � j + 2 (cj + j � c) = d� 2 c+ j. The minimal degree is obtained for j = 0 sothat the valuation is d� 2 c. 2Proof of the theorem. Let fi(x; y; z; t) be the equations of Si in P3. The intersection of thesesurfaces in A 3 is de�ned by the system8><>: f1(x; y; z; 1) = 0f2(x; y; z; 1) = 0f3(x; y; z; 1) = 04

which is equivalent in A 4 to 8>>><>>>: f�1 (x; y; z; u) = 0f�2 (x; y; z; u) = 0f�3 (x; y; z; u) = 0u� (x2 + y2 + z2) = 0 (�)After homogenization of this system (in (x; y; z; u; v)), we obtain 3 equations of the form�fi(x; y; z; u; v) = diXj=0 gi;j(x; y; z)uci;j vci;j+j�ci = 0 for i 2 f1; 2; 3g;(of degree di� ci) and the equation u v� (x2+y2+z2) = 0 (of degree 2), de�ning in P4 a varietyV . The a�ne part of V is what we are looking for. By assumption, it is a �nite set of points. Thepart at in�nity is de�ned by v = 0; x2+ y2+ z2 = 0 and P0�j�di;ci;j+j=ci gi;j(x; y; z)uci;j = 0 fori 2 f1; 2; 3g. We remark that this part at in�nity might contain the point ! = (0 : 0 : 0 : 1 : 0).According to B�ezout's theorem, the degree of the a�ne part of V is bounded by the productof the degree of the equation minus the intersection multiplicity of the 4 hypersurfaces in P4 atthe point !. This multiplicity is obtained by considering the above system around the point !,taking X = x=u, Y = y=u, Z = z=u and V = v=u :8>>><>>>: �f1(X;Y; Z; 1; V ) = 0�f2(X;Y; Z; 1; V ) = 0�f3(X;Y; Z; 1; V ) = 0V � (X2 + Y 2 + Z2) = 0 or 8>>><>>>: �f1(X;Y; Z; 1;X2 + Y 2 + Z2) = 0;�f2(X;Y; Z; 1;X2 + Y 2 + Z2) = 0;�f3(X;Y; Z; 1;X2 + Y 2 + Z2) = 0;V � (X2 + Y 2 + Z2) = 0As the valuation of �fi(X;Y; Z; 1;X2 + Y 2 + Z2) is di � 2 ci (according to the previous lemma),the multiplicity of intersection at ! is at least (d1 � 2 c1) (d2 � 2 c2) (d3 � 2 c3), thus the degreeof the a�ne part of V is at most2 (d1 � c1) (d2� c2) (d3 � c3)� (d1 � 2 c1) (d2 � 2 c2) (d3 � 2 c3)= d1d2d3 � 2 (c1 c2 d3 + c1 c3 d2 + c2 c3 d1) + 6 c1 c2 c3:If one of the surfaces is of maximal circularity, then ! is not in the part at in�nity of V andthe degree of its a�ne part is at most 2 (d1 � c1) (d2� c2) (d3� c3). 2Examples� If S1; S2; S3 are spheres, then di = 2, ci = 1 and the number of common points in thea�ne space is at most 2.� Let S1; S2; S3 be tori de�ned as the sets of points X = (x; y; z) such thatcos2(AiX 6 BiX) = ci(6 means the angle between the vectors), for given points Ai; Bi in A 3 (i 2 f1; 2; 3g). Theequation of each Si is of the formhAiX;BiXi2 � ci hAiX;AiXi hBiX;BiXi= (1� ci)hX;Xi2 � 2 (1� ci) hX;Xi(hX;Aii+ hX;Bii) + degree in X�2z }| {� � � � � �where h ; i is the standard inner-product in A 3 . The degree of these tori is 4 and thecircularity is 2 because the term of degree 3 is divisible by hX;Xi = x2+y2+z2. Thereforethe number of common points in the a�ne space is at most 2� 8 = 16.5

2.1 A view on a blow-upThe previous section deals with equations in x; y; z and x2 + y2 + z2 or in other words withequations in the space of spheres of P3. The enumeration of common points, which involves inthis case the degree of each surface and the multiplicity of the umbilic, corresponds to what iscalled a problem of residual intersection (the surfaces have a curve in common at in�nity) inmodern Intersection Theory. Let us have a glimpse at this other world, described in anotherlanguage in [10][p 156], in order to see how it is related to the previous computations.Consider, for instance, a point O in the plane A 2 (O will be the origin of the plane) with acertain multiplicity on two given curves C1; C2. The multiplicity of intersection is not necessarilythe product of the multiplicities of the point on each curve. It can be more if the curves havecommon tangents at O. To take care of this possibility and to analyze correctly the intersectionmultiplicity, one is led to add new information, which in this case is the slope of a line from Oto a point M = (x; y) of the plane. As a slope of a line is actually de�ned in P1, we are workingin a space of dimension 3 which is A 2 � P1. The image of A 2 is a surface in A 2 � P1 de�ned byu y � v x = 0 and the blowing up algebra associated to it is C [x; y][u; v]=(u y � v x). If x 6= 0and y 6= 0 the slope of the line is s = vu = yx . This construction yields a spurious line O � P1which is the "image" of the point O (\blowing-up" of O) where the slope is not de�ned. Thisline is called the exceptional line. By this construction, a curve of A 2 through O is transformedinto the union of the exceptional lines and another curve, called the strict transform. The waythis strict transform meets the exceptional line gives us the limit of the slopes of cords OMwhen M tends to O. In other words, it gives the slope of the tangents at O. The intersection ofthe transforms of the two curves C1; C2 will then give us the exceptional line (counted with theproduct of the two multiplicities of O) and the intersection of the strict transforms will tell us\how much" the curves are tangent.This can be extended naturally to surfaces (to any variety in fact) containing a given curve(here the umbilic) in the following way. The blowing up algebra is C [x; y; z; t][u; v]=(u p2 � v p1)where p1 = t, p2 = x2+ y2+ z2 are two equations de�ning the umbilic. Remark that if we workin the open subset v 6= 0, t = 1, we have U = uv = x2+y2+z2 which is just the new variable thatwe added in the last section. The computation done there is in fact precisely the computationdone in the blowing up algebra when we assume that some variables do not vanish, that is whenwe are in an open subset of this \blowing-up". For further information, see [11], [10]1.3 Another applicationWe present here a theorem of Cayley and a simple proof using B�ezout's theorem in a productof projective spaces. A reference for this theorem is [13] but no proof is available there.2For this purpose, we need to use classical results of Intersection Theory. The classical B�ezoutTheorem says that the intersection of two varieties V1, V2 of Pl and of degree d1 (resp. d2) andcodimension �1 (resp. �2) is in general empty if �1 + �2 > l and otherwise it is a variety ofdegree d1d2 and codimension �1+ �2. This can be formalized in the following way: we associateto a variety V of Pl the element dh� of Z[h] where d is its degree and � its codimension.Then the intersection corresponds to the product modulo the relation hl+1 = 0. The spaceA[X] = Z[h]=(hl+1) is called the Chow ring of X = Pl. More generally, a Chow ring describingintersections of subvarieties on a non-singular projective variety X can be constructed with theproperties given in [11][p 426]. To any subvariety V of X is associated a class [V ] in this Chowring and the intersection corresponds to the product of classes. Moreover, if the subvariety V isthe union of two subvarieties V = V 0 [ V 00 then we have [V ] = [V 0] + [V 00].1I would like to thank M. Merle for interesting and fruitful discussions on this topic.2I would like to thank J.P Merlet, who pointed this result out to me6

Using the fact that if Y = X �X 0 then A[Y ] = A[X] Z A[X 0] (see [11]) we immediatelysee that the Chow ring of P3 � P3 is Z[h1; h2]=(h41; h42) (see also [17][p 196]). The class of ahypersurface of P3� P3 de�ned by a bi-homogeneous equation of degree (d1; d2) is d1h1 + d2h2.Theorem 3.1 | Let C1 and C2 be curves of degree d1, d2 and circularity c1, c2 which haveno common points at in�nity. Let L� be the set of lines (P1; P2) such that kP1P2k (k k is theEuclidean norm of vectors) is �xed and P1 2 C1 \ A 3 , P2 2 C2 \ A 3 and let L be the closure ofL�. Then L is of codimension 3 in the Grassmann Variety G2 of all lines and degree2� d1 � (d2 � c2) + 2� d2 � (d1 � c1)Proof. Consider the couples (P1; P2) 2 P3� P3 such that P1 2 C1; P2 2 C2 and kP1P2k2 = �2(� 2 C ). We are going to bound the degree of this subvariety, denoted by V of P3� P3.The Chow ring of P3�P3 is generated by h1; h2 the class of P2�P3 and P3�P2 and we haveh41 = 0, h42 = 0. We have A[P3� P3] = Z[h1; h2]=(h41; h42).The class of the variety C1�P3 is d1 h21, the class of P3�C2 is d2 h22 and the variety de�ned bythe equation kP1P2k2��2 = [P1; P1]�2�[P1; P2]+[P2; P2]��2 = 0 corresponds to 2�h1+2�h2.The intersection of these three varieties corresponds to the couples of points de�ning thelines we are looking for. Its class in the Chow ring isd1h21:d2h22:(2� h1 + 2� h2) � 2d1d2(h31h22 + h21h32)It is a variety of codimension 5 in P3� P3 that is a curve but it is not irreducible. In fact, ifP1 is any point of C1 which is also on the umbilic, then the homogenization in t of the equationkP1P2k2 � �2 = 0 yields [P1; P1] t22 � 2 [P1; P2] t1t2 + [P2; P2] t21 � �2t21t22 = 0. This conditionis satis�ed when t1 = 0 and [P1; P1] = 0 for any value of P2. In other words, the variety Vcontains the curve P1 � C2 for any points P1 of C1, which is also on the umbilic. This can alsobe done with P2. As there are c1 (resp. c2) such curves P1 � C2 (resp. C1 � P2) (counted withmultiplicities), the class of the a�ne part of V which is L is2d1d2(h31h22 + h21h32)� c1d2h31h22 � c2d2h21h32 = 2d1(d2 � c2)h31h22 + 2d2(d1 � c1)h21h32:Now consider the corresponding variety of lines in the Grassmann Variety G2 of P3. It is acurve in this space and its degree is given by the number of lines of this family which meet agiven \generic" line (see [12][Vol. II p 359]). The intersection of a line (P1; P2) with anotherone corresponds to an equation of degree h1 + h2 in the Chow ring associated to P3� P3. Thismeans that we have (2d1(d2� c2)h31h22+2d2(d1� c1)h21h32)(h1+h2) = 2d1(d2� c2)+2d2(d1� c1)solutions which is the degree of the curve of lines. 24 The variety of displacementsIn this section, we are going to focus on the set D of displacements of the a�ne space A = C 3(also denoted by A 3). We want to describe as \e�ectively" as possible the algebra of functionson this variety. The objective is to give a complete system of rules which allows us to reduceany element of this ring to a normal form.We note ( j ) the standard inner product of A and (U1; : : : ; UkjV1; : : : ; Vk) = det((UijVj)1�i;j�k)for all vectors3 Ui; Vj 2 A .A displacement D of D is described by a couple (R; T ) where R is a rotation satisfying theequations RTR = RRT = Id3 (where Id3 is the identity matrix of A ), det(R) = 1 and T =3The vector associated to an element A of A n is the vector from the origin to the point A.7

(t1; t2; t3) is a translation. We note Rj = (r1;j; r2;j; r3;j) the jth column of R, R�i = (ri;1; ri;2; ri;3)the ith row of R. These vectors satisfydet([R1; R2; R3]) = 1 and (RijRj) = (R�i jR�j) = �i;j: (2)In the applications coming from robotics and vision, the equations constraining the displacementsoften involve distances between points so that the coordinates of the vectorsRTT;Ri; R�i and (T jT )naturally appear. Let us therefore introduce new variables U = (u1; u2; u3); � and the equations� = (T jT ); U = RT T (3)We easily see that T = RU is a consequence of the previous relations. Up to now, we areworking in a space A 16 , corresponding to the variables fri;j ; ti; ui; �g. Let us introduce a newvariable z of homogenization in order to work in P16. Setting z = 0 in the ideal generated bythe previous equations we obtain the part at in�nity of the variety of P16 that de�nes the idealgenerated by the equations (2) and (3).Lemma 4.1 |The part at in�nity in P16 of the previous variety is the set of matrices [R1; R2; R3; T ]of rank one and image in the "umbilic" (XjX) = 0.Proof. The part at in�nity satis�esdet(R) = (RijRj) = (R�i jR�j ) = 0; (RijT ) = 0; (R�i jU) = 0; (T jT ) = 0(by putting z = 0 in the previous equations). This implies that at in�nity the matrix [R; T ] isof rank 1. Then the matrix R is of rank 1. If not (R of rank two), its transpose matrix RT isalso of rank 2 and its kernel of dimension 1, contains the image of R (because RTR = 0). Thiscontradiction implies that R is at most of rank 1. Moreover T is in the orthogonal of the image ofR. If (R1; R2; R3; T ) is of rank 2, its orthogonal is of rank 1 but it contains R1; R2; R3; T . Conse-quently, (R1; R2; R3; T ) has to be of rank 1 and for each vector V in the image of [R1; R2; R3; T ],we have (V jV ) = 0. 2Following the previous section, to blow-up the part at in�nity we introduce new variablesfor the vectors Ri ^ T . Let us write (k; lji; 4) the variable corresponding to (ek; eljRi; T ) =rk;i tl � rl;i tk which is, up to a sign, a coordinate of Ri ^ T . The role of the new variables is to\throw away" the component at in�nity of the �rst variety. Note ri;j = (ijj); ti = (ij4) so thatwe have the relations (ijk)(jj4)� (ij4)(jjk) = (i; jjk; 4) (4)for 1 � i; j; k � 3.The set of variables that we are going to consider isX = f(ijj); (ij4); (i; i0jj; 4); u1; u2; u3; �g1�i;j;i0�3 (5)Let us call I the ideal of C [X] generated by the equations (2), (3) and (4). These equationsde�ne in A 25 a variety that we still note D. We also note C [D] = C [X]=I. The set of matrices(R; T ) corresponding to the \usual" description of displacements is in fact the projection of thisvariety D on the space of the �rst coordinates.8

4.1 Straightening lawsIn this part, we are going to exhibit a structure for C [D] similar to what is called an algebrawith straightening laws (see [4]).For that, let recall some de�nitions :De�nition 4.2 | Let X be a set (of variables) and � a partial order on X. A monomialm 2 X� is standard if it can be written as m = xi1 � � �xik with xi1 � � � � � xik .De�nition 4.3 | Let I be an ideal of C [X]. The algebra A = C [X]=I is called- an Algebra with Straightening Laws (ASL) if(H1) the standard monomials are a basis of A = C [X]=I,(H2) for each couple of variables x1; x2 2 X, such that m = x1x2 is not standard, thedecomposition of m in standard monomials involves monomials where one variable is strictlyless than (for �) than x1 and x2 (see [4]).- a pseudo-algebra with straightening laws if (H2) is satis�ed and (H01) the standard mono-mials are a generating set of A = C [X]=I (as a C -vector space).The �rst point speci�es that the reduction is canonic and the second that it is compatible withthe partial order. In our case, we will take for X the set of variables de�ned in (5) with thepartial order � given by the following Hasse diagram:(1j1) (1j2) (1j3) (1j4)(2j1) (2j2) (2j3) (2j4)(3j1) (3j2) (3j3) (3j4)

� u1 u2 u3(1; 2j1;4)(1; 2j2;4)(1; 2j3;4)(1; 3j1;4)(1; 3j2;4)(1; 3j3;4)(2;3j1;4)(2; 3j2;4)(2; 3j3;4)CCCCCCCCCC

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

CCCCCCCCCC�� �� ���� �� ���� �� ��@@ @@ @@ @@@@ @@ @@ @@

�� �� ���� ���� ���� ��@@@@@@ @@@@@@ @@@@@@

9

Remark that the restriction of � to the subset X 0 = f(ijj); (ij4); (i; i0jj; 4)gi;j;i0 is the partialorder: 8><>: (ijj)� (i0jj0) if i � i0; j � j0(ijj)� (i0; i00jj0; j00) if i � i0; j � j0(i; jjk; l)� (i0; j0jk0; l0) if i � i0; j � j0; k � k0; l � l0which compares the \tableaux" index by index (this is the usual partial order on Young tableaux,de�ned for instance in [6]).4.2 Relations in IThe determinants (i; jjk; 4) are up to a sign the coordinates of the vectors Rk ^ T . To simplifythe notation, denote by wi;k the ith coordinate of Rk ^T and w�i;k the ith coordinate of R�k ^U sothat wi;k = (�1)i+1(i0; i00jk; 4) with fi; i0; i00g = f1; 2; 3g. We will also note sometimes ui = (4ji).Proposition 4.4 | The following relations are true modulo I :(1) (RijRj) = �i;j , (R�i jR�j ) = �i;j , (RijT ) = ui, (R�i jU) = ti, (T jT )� � = 0, (U jU)� � = 0,(2) (i; jji0; j0) = (�1)k+k0(kjk0) with fi; j; kg = fi0; j0; k0g = f1; 2; 3g,(3) wi;j = �w�j;i,(4) wi;l (jjm)� wj;l (ijm) = um(kjl)� �l;m(kj4) where fi; j; kg = f1; 2; 3g and 1 � m � 4,(5) wi;l uj � wj;l ui = �tm(kjl) + �l;muk where fi; j; kg = f1; 2; 3g,(6) wi;kwj;l = ������� �k;l uk rj;kul � tjri;l ti �i;j �������,with 1 � i; j; k; i0; j0; k0 � 3.Proof.� The polynomials (1) are by de�nition in I.� As the determinant of R is one, and as RT :R = Id, a 2 � 2 minor of R is equal to itscofactor. Thus modulo I we have (i; jji0; j0) = �(kjk0) with 1 � i; j; k; i0; j0; k0 � 3.� As R is of determinant 1, we havewi;j = jRj; T; eij = jR:ej ; R:U;R:R�:eij = jej; U;R�i j = �w�j;i;or, in other words, (i; i0jj; 4) = (�1)i+j+1(i00; 4jj0; j00) with fi; i0; i00g = fj; j0; j00g = f1; 2; 3g.� Consider now the polynomials in (4). Using the formula of double vector product(a� b)� c = (bjc) a� (ajc) b;we have (Ri � T )� Rj = (T jRj)Ri � (RijRj)T = ujRi � �i;jTand we obtain the relations (4) by taking one coordinate of this vector.� In the same way, we obtain the relations (5) by considering (R�i � U)� R�j :� For the relations (6), we have(Rk � T )i(Rl � T )j = jRk; T; eijjRl; T; ej j= ������� (RkjRl) (RkjT ) (Rkjej)(T jRl) (T jT ) (T jej)(eijRl) (eijT ) (eijej) ������� = ������� �k;l uk rj;kul � tjri;l ti �i;j �������The right-hand-side of this relation is a combination of monomials, less than (Rk�T )i(Rl�T )jfor �. 2See [18][p 144] for a similar result on the orthogonal group4.4I would like to thank T. Recio, for some discussions on this hidden part of H. Weyl work, closely related tothe following section. 10

Proposition 4.5 | The algebra C [D] is a pseudo-algebra with straightening laws with respectto �.Proof. Let M be the 3 � 4 matrix [R; T ] and denote by (i1; : : : ; ikjj1; : : : ; jk) the minor ofM of rows 1 � i1 < : : : < ik � 3 and columns 1 � j1 < � � � < jk � 4. The alge-bra C [(i1 ; : : : ; ikjj1; : : : ; jk)]il;jm has a natural structure of ASL where the partial order con-sists in comparing the �rst indices of rows and columns. These straightening laws allow usto write any polynomial of C [X 0 ] (X 0 is de�ned page 10) as a sum of standard monomialsin Y = f(i1; : : : ; ikjj1; : : : ; jk)g. Remark now that any 3 � 3 minor of M is equivalent to apolynomial of lower degree in X. We have, for instance, jRi; Rj; T j = jei; ej ; U j = �uk withfi; j; kg = f1; 2; 3g. Using these relations, any standard monomial in Y can be rewritten as asum of monomials in X and standard in the variables X 0. We now have to check that for anyvariable x 2 X 0 and u 2 fu1; u2; u3g such that m = xu is not standard, m can be rewritten in astandard way. This is done by checking by hand all non-standard monomials of this type. Wehave, for instance, (ij2)u3 = w�1;i + (ij3)u2 = �wi;1 + (ij3)u2Non-standard monomials of the form (ijj)uk can be normalized in the same way. The otherkind of non-standard monomials is(i; jj1; 4)u3 = wk;1u3 = �(w�1;ku3 � w�3;ku1 + w�3;ku1) = �wk;3 u1 + tm(kjl)� �l;m ukRemark that the right-hand-side of these relations is a sum of monomials which always involvesa variable strictly lower that the variables of the left-hand-side. Using the relations (1) : : : (6),we check in this way that all non-standard monomial of the form ri;j ri0;j0; ri;j uk, ri;j wi0 ;j0; wi;j ukcan be reduced to a linear combination of standard monomials and that this reduction is com-patible with �. In other words, C [X]=I is a pseudo-algebra with straightening laws. 24.3 The multiplicity of C [D]Let us de�ne a graduation on C [X] by settingdeg(ri;j) = 1; deg(ti) = 1; deg(wi;j) = 2; deg(ui) = 2; deg(�) = 2:Let� be a total order, compatible with the partial order�. Take, for example, the lexicographicorder on X� re�ning the degree such that the variables are ordered from top to bottom and fromleft to right on the Hasse diagram. Note that if x1x2 is not standard, it is also the leading term(for �) of an element of I.Let I� be the monomial ideal generated by the initials of the polynomials of I. The idealI� contains all the non-standard monomials. It also contains the leading terms of the equations(2) and (3) : r3;jr3;k, rj;3rk;3 (for 1 � j; k � 4).De�ne the Hilbert function of the algebra C [X]=I to be the dimension of the vector space(C [X]=I)�n of polynomials of C [X]=I of degree lower than n: H(n) := dimk(C [X]=I)�n.Proposition 4.6 | The Hilbert function of C [X]=I is also the Hilbert function of (C [X]=I�)�nand the two C -vector spaces (C [X]=I)�n and (C [X]=I�)�n are isomorphic.This classical lemma is true for any graduation on the algebra C [X]=I (see [7]).Proof. If a monomial m is the initial of an element of I, it can be reduced (modulo I) to a linearcombination of monomials which are less than m (for �), so that a generating set of C [X]=Iconsists of all monomials which are not in I. Moreover, the monomials which are not leading11

terms are linearly independent in C [X]=I, otherwise a linear combination of them would be in Iand one of them would be the leading term of an element of I. Consequently, a basis of C [X]=Iis formed by monomials which are not in I�. These monomials also form a basis of C [X]=I� .As any polynomial is rewritten as a combination of monomials of lower degree and not in I�,the Hilbert functions of the two algebras are the same. 2When n is large enough the function of C [X]=I becomes a polynomial function (see [1]) andwe can take its leading coe�cient (as a polynomial in n), which is of the form �d!nd. Let usde�ne the multiplicity of C [X]=I as �. This is the classical algebraic de�nition of a degree of avariety V when I is the ideal associated to the variety. This is also the multiplicity of C [X]=I� .Theorem 4.7 | The multiplicity of C [D] is at most 40.The proof we are giving here is based on simple but "magic" computations on monomials. Itis yet another proof for this problem. The �rst one by F. Ronga and T. Vust (see [16]) usedIntersection Theory on vector bundles, Chern classes, etc. The second approach (see [14]) usedGr�obner bases to compute very quickly the polynomials we have shown in the previous sectionand to deduce the Hilbert function. The third one (see [15]) uses an explicit computation of aresultant (by a Computer Algebra System) to conclude that the dimension is 40. The proof weare giving here requires neither software, nor Chern class, but some patience.Proof. We are going to decompose C [X]=I� (and also C [X]=I ) into a sum of a componentswhich are polynomial rings times a monomial so that no element of I� appears in such compo-nent. The result of this computation look like the computation of Hilbert Series, but here thevariables are not replaced by a single variable z (giving the graduation).is is a generalization of In fact, we are concentrating only on the components of dimension 6(which polynomial rings are generated by 6 variables). We call a component such a product ofa monomial by a polynomial ring.Let us �rst consider the subring of C [X] generated by the \free" variables, that is S =C [�; u1 ; u2, r1;1; r2;1; r1;2; r2;2; t1; t2]. We are going to simplify it modulo I. We use the followingsimple relation (called Elliott relation, see [8]) :C [a; b] = C [a b; a] � b C [a b; b] (6)which is equivalent to C [a]� b C [b] if ab � 0. This relation yields a decomposition of C [�; u1 ; r1;1;r1;2; r2;1; r2;2] of the formC [�; u1 ; r1;1; r1;2; r2;2] + r2;1 C [�; u1 ; r1;1; r2;1; r2;2]because r2;1r1;2 is not standard. Adding the variables t1; t2 the same process implies thatC [�; u1 ; r1;1; r1;2; r2;1; r2;2; t1; t2] is equivalent (modulo I�) toC [�; u1 ; r1;1; r1;2; t1; t2] + r2;2 C [�; u1 ; r1;1; r1;2; r2;2; t2] + r2;1 C [�; u1 ; r1;1; r2;1; r2;2; t2]because r2;2t1 and r2;1t1 are in I�.Finally, adding the last variable u2, we obtain the decompositionS = C [�; u1 ; u2; r1;1; r2;1; r1;2; r2;2; t1; t2] (7)� C [�; u1 ; r1;1; r1;2; t1; t2] + u2 C [�; u1 ; u2; r1;2; t1; t2] + r2;2 C [�; u1 ; r1;1; r1;2; r2;2; t2]+r2;2u2 C [�; u1 ; u2; r1;2; r2;2; t2] + r2;1 C [�; u1 ; r1;1; r2;1; r2;2; t2]Remark that the number of components in this decomposition is also the number of increasingpaths from u1 to t2 (on the subset f�; u1; : : : ; t2g) (that is 5) and that the dimension of each of12

these components is 6 (that is the dimension of D). Remark also that such a decomposition isnot unique, for we can choose at each step a decomposition C [a] + b C [b] or a C [a] + C [b].We consider now the subring B1 = C [u3 ; t3; r3;3; r3;2; r3;1; r2;3; r1;3] modulo I�. Since themonomials r3;jr3;k, rj;3rk;3 (for 1 � j; k � 4) are in I�, this ring is equivalent toB1 � C + C u3 + C t3 + C r3;1 + C r1;3 + C r3;2 + C r2;3 + C r3;3+C r1;3 t3 + C r2;3 t3 + C r3;1 u3 + C r3;2 u3 + C t3 u3The last set of variables (which are not free modulo I�) are fwi;jgi;j . Because of relations(6) (prop. 4.4), the ring B2 = C [wi;j ]i;j is equivalent to Pi;j C wi;j .The �nal step of this proof consists in taking the tensor product of S, B1, B2 (modulo I�)to obtain a decomposition of C [X]=I� . Here we are only interested in the part of dimension 6 ofsuch a decomposition. This implies that for each component of the decomposition (7) we onlyneed to consider the variables of B1 and B2 which extend the corresponding increasing path.For instance the ring C [�; u1 ; r1;1; r1;2; t1; t2] B1 B2 is equivalent toC [�; u1 ; r1;1; r1;2; t1; t2] (1 + t3 + r2;3 + t3r2;3+ (1; 3j1; 4) + (1; 2j1; 4) + (1; 3j1; 4)t3 + (1; 2j1; 4)t3 + (1; 3j1; 4)r2;3 + (1; 2j1; 4)r2;3)+ components of lower dimensionHowever (1; 3j1; 4)t3 and (1; 2j1; 4)r2;3 are the leading terms of relations (4) and (5) (prop. 4.4),so we can forget the corresponding parts and the previous ring is a sum of 8 components. Finally,taking into account all these leading terms, we obtain the decompositionS B1 B2� C [�; u1 ; r1;1; r1;2; t1; t2](1 + t3 + r2;3 + t3r2;3 + (1; 3j1; 4) + (1; 2j1; 4) + (1; 2j1; 4)t3 + (1; 3j1; 4)r2;3)+ u2 C [�; u1 ; u2; r1;2; t1; t2](1 + t3 + r1;3 + t3r2;3 + (1; 3j2; 4) + (1; 2j2; 4) + (1; 2j2; 4)t3 + (1; 3j2; 4)r1;3)+ r2;2 C [�; u1 ; r1;1; r1;2; r2;2; t2](1 + t3 + r1;3 + t3r1;3 + (1; 3j1; 4) + (1; 2j1; 4) + (1; 2j1; 4)t3 + (1; 3j1; 4)r1;3)+ r2;2u2 C [�; u1 ; u2; r1;2; r2;2; t2](1 + t3 + r1;3 + t3r2;3 + (1; 3j2; 4) + (1; 2j2; 4) + (1; 2j2; 4)t3 + (1; 3j2; 4)r1;3)+ r2;1 C [�; u1 ; r1;1; r2;1; r2;2; t2](1 + t3 + r2;3 + t3r2;3 + (1; 3j1; 4) + (1; 2j1; 4) + (1; 2j1; 4)t3 + (1; 3j1; 4)r2;3)+ components of lower dimensionIn this decomposition we have 5 � 8 = 40 parts of dimension 6 and the other componentsof lower dimension. From this, it is immediate to deduce that the Hilbert polynomial of thequotient C [X]=I� is of the form N6!n6 + h5n5 + � � � with N � 40. According to proposition 4.6the multiplicity of C [D] is at most 40. 24.4 Application to a problem of roboticsWe present here an application of the previous section to the direct kinematic problem of aparallel robot. The mechanism of this robot (also called Stewart Platform or left hand) is thefollowing. Consider six �xed points (Xi)1�i�6 of a �xed solid SX and six other pointsZi, attachedto a moving solid SZ . The articulations between the two solids SX and SZ are extensible bars13

(Xi; Zi)1�i�6 with spherical joints. This mechanism is well-suited for doing precise movementsof adjustment. It is also used in ying simulators and appears in suspension links of cars (butwith only one degree of freedom).From a practical point of view, it is easy to measure the length of these articulations butmuch less obvious to determine the position of the solid SZ knowing these lengths. A �rst stepin solving this problem is : \knowing the length kXi; Zik2 = �i, how many positions there are fora \generic" platform ?" Let us note (Yi)i the position of the upper-platform at a given time andD = (R; T ) the displacement from (Yi) to (Zi) (so that we have Zi = RYi + T ). The problemis equivalent to �nding the solutions (over C ) of the system:[R:Yi + T �Xi; R:Yi + T �Xi] = �i= [Yi; Yi] + [T; T ] + [Xi;Xi] + 2 [Yi; RTT ]� 2 [Xi; T ]� 2 [R:Yi;Xi]for 1 � i � 6. This system is linear in the variables of X. According to the previous section, weknow that it has at most 40 solutions (over C ).To complete the approach, we show that there are exactly 40 solutions in the generic caseby exhibiting an example where we can �nd at least 40 di�erent solutions.Proposition 4.8 | The degree of C [D] is at least 40.Proof. Consider the following con�gurations. LetX1 = [ 0; 0; 0 ];X2 = [ 12 ;�12 ;�1 ];X3 = [ 32 ;�12 ;�1 ];X4 = [ 32 ; 12 ;�1 ];X5 = [ 13 ; 12 ;�1 ];X6 = [ 2; 0; 0 ]be �xed points in A andY1 = [ 0; 0; 0 ]; Y2 = [ 1; 0; 1 ]; Y3 = [ 0; 1; 1 ]; Y4 = [�1; 0; 1 ]; Y5 = [ 0;�1; 0 ]; Y6 = Y1attached to the moving platform. The displacement (R; T ) of this platform gives us the pointsZi = RYi + T . We want to compute all possible displacement (solutions in C ) such that kZi �Yik2 = �i. We take for instance�1 = 2; �2 = 23=2; �3 = 23=2; �4 = 23=2; �5 = 241=36; �6 = 2This yields the system:[R:Yi + T �Xi; R:Yi + T �Xi] = �i= [Yi; Yi] + [T; T ] + [Xi;Xi] + 2 [R:Yi; T ]� 2 [Xi; T ]� 2 [R:Yi;Xi]= [Yi; Yi] + [T; T ] + [Xi;Xi] + 2 [Yi; U ]� 2 [Xi; T ]� 2 [R:Yi;Xi]This system is linear in the set of variables X, therefore if it has a �nite number of solutions,this number of solution is at least (in fact exactly) the degree of D.Remark that because Z1 = Z6 and kX1; Z1k2 = kX6; Z6k2 = 2, we know that Z1 is onthe circle de�ned by x = 1; y2 + z2 = 1. We use the classical representation of rotations withquaternions :5! : P3nV(a2 + b2 + c2 + d2 = 0)! SO3(a; b; c; d) 7! R = 1a2+b2+c2+d2 � a2 + b2 � c2 � d2 2 b c� 2d a 2 b d+ 2 c a2 b c+ 2 d a a2 � b2 + c2 � d2 2 c d� 2a b2 b d� 2 c a 2a b+ 2 c d a2 � b2 � c2 + d2 ! (8)5This map is surjective on C : given a matrix R satisfying the equations RRT = RTR = Id; det(R) = 1, wewant to search (a; b; c; d) such that a2 + b2+ c2 + d2 = 1 and !(a; b; c; d) = R. We see that 14 (Tr(R)+ 1) de�nes aup to a sign and that 14 (R� RT ) which is an antisymmetric matrix, de�nes (b; c; d) up to the same sign so thatthe possible solutions (q or �q) are determined by Tr(R) and R�Rt. Let c = 12 (Tr(R)� 1) and tR = 12 (R�RT )and v the vector such that tR(x) = v ^ x. We check that (vjv) + c2 = 1.We �rst assume that c 6= �1. Using this identity, "Rodriguez representation" of R and the rule of double vector14

so that reducing each equation to the same denominator, the previous system is transformedinto a homogeneous system of degree 2 in q = (a; b; c; d) with coe�cients which are polynomialsof degree 1 in T : if we look at the 2th, : : : , 5th equations in (a; b; c; d), we have 4 polynomialshomogeneous in these 4 variables which must have at least one common root. Using the methoddescribed in [15], we can compute their resultant in a; b; c; d. It is a polynomial in T whichvanishes if and only if there exists a rotation such that the 4 equations are satis�ed. Settingx = 1; y = 1�t21+t2 ; z = 2 t1+t2 (Z1 is on a circle) and reducing to the same denominator, we obtainthe following polynomial in t of degree 40 :1999838017108489289 t40 + 4825092325063207512 t39 + 25591605368925301144 t38+ 49412508531502879288 t37 + 94338129683192039026 t36 + 100240961798861174680 t35+ 16597248736182035880 t34 � 118197965991748728264 t33 � 412172958797937298563 t32� 713877700408239650784 t31 � 823165922491391120672 t30 � 910939538430197488224 t29� 821520400353846151560 t28 � 458613961567107873632 t27 + 57554126909561412704 t26+ 1210375736546818623264 t25 + 3283908982716218990018 t24 + 5723500447433301901584 t23+ 7583544515108833961680 t22 + 7510028139203118254928 t21 + 4321406032357634284108 t20� 1651271769827903795696 t19 � 8336732191251700599568 t18 � 13102461964513308633904 t17� 13975383485284377843310 t16 � 10564032960330005219808 t15 � 4512673491739135774368 t14+ 1514652059205820223904 t13 + 5505673827065320024632 t12 + 6757049249522328815008 t11+ 5788010131725221987424 t10 + 3832583473196284161568 t9 + 2009647163759307870261 t8+ 803719762218156787288 t7 + 202341398520619750232 t6 + 13298239527064533816 t5� 6354878613375129966 t4 � 2775897814417637352 t3 � 147661141981543256 t2+ 12536074683882424 t + 11543005543897265Approximations of the solutions of these equations areh1:; 1:0691339; 1:274397037; 1:42735636; 0:1017980095 � 2:642074408 i;� 0:0958801865 � 0:1812183212 i; 0:1674502267 � 0:0235791365 i;� 0:150235581 � 0:2612522182 i; 0:1915807034 � 0:7774948275 i;� 0:4993601843 � 0:7378197715 i; �0:6288016023 � 0:610477651 i;� 0:01532341299 � 1:019869943 i; 0:3198204635 � 1:25748005 i;� 0:6858938694 � 1:743050505 i; 0:9887899948 � 0:8661843231 i;� 0:9104205059 + 0:1639209135 i;�0:9104205032 � 0:1639209151 i;� 0:966582795 � 0:1140359517 i; �0:9665827934 + 0:1140359527 i;� 0:8413731333 + 0:4674405879 i; �0:8413731338 � 0:4674405878 i;� 0:01229812098 + 0:995078441 i; �0:01229811926 � 0:9950784417 i� 0:9457523385 + 0:342443233 i; �0:9457523389 � 0:3424432324 i;0:1645190391 � 1:023140473 i; 0:1645190403 + 1:023140468 i;0:2261488542 + 1:052751221 i; 0:2261488542 � 1:052751217 i iThese computations have been done in maple using some elementary functions on polynomialsproduct, we have (on C )R = (1� cos(�))u u+ cos(�) Id+ tv = 11 + c tv � tv + Id+ tv(where � is the angle of rotation). Remark that this is the Cayley parametrization of rotations. We immediatelydeduce that R and !(q) are identical, for they have the same "cosines" and the same axis of rotation.Now if c = �1, we have a = 0. In this case, R = Rt. If u is a unitary vector of the axis of rotation, we checkthat R = 2u u� Id so that taking (b; c; d) = (u1; u2; u3), we see that !(0; b; c; d) = R15

to compute the resultant and the function traubjen to �nd approximate solutions of theprevious equation (with six digits at least).Each value of t gives us a position of T and at least one solution in R. 24.5 Application to a problem of VisionIn this section, we describe the problem of reconstruction from points with calibrated camerasand see how it is related to the previous section. We consider the following problem : givenN points Pi in 3-dimensional space A 3 , we know their images on two cameras and we want todetermine the displacement between the two cameras. The image of a point is the projection ofthis point on the retinal plane from the center of the camera. We assume that we know thecoordinates of the image in a referential attached to the �rst (resp. second) camera. Taking areferential such that the retinal planes are given by z = 1, z0 = 1, the coordinates of the pointsin the �rst (resp. second) referential are pi = (xi; yi; 1) (resp. p0i = (x0i; y0i; 1)). This is equivalentto saying that the cameras are calibrated.p

p’

P

O

O’

e

e’Note D = (R; T ) the displacement of the second frame relative to the �rst one. The imagesp0i in the second retinal plane correspond in the �rst referential to the vectors Rp0i + T . Wewant to �nd the possible displacements, knowing the coordinates of pairs of images in theretinal planes. Scaling the scene will not change the image in the retinal planes and the twosymmetric positions of a retinal plane with respect to the center of projection give the sameimages in this plane. According to this freedom, a reconstruction will be a set of displacementsRV;W = f(R; T )jT = �V;R3 = �Wg (R3 is the normal to the second retinal plane). Thiscorresponds to the set of all displacements which will give the same position for the secondcamera, up to the symmetries of our problem.We recall here a theorem for this solved problem of reconstruction. See [5] and [9] for twodi�erent points of view on the question. The proof we present is a third one, obtained byapplication of the previous section.Proposition 4.1 | Given 5 points \in generic position", the number of possible reconstructionsis at most 10.Proof. As the vectors OO0 = T;OPi = � pi; O0Pi = �0p0i are in a same plane, we must havejpi; T;R p0i + T j = pTi T ^Rp0i = 0 (9)These equations are linear in the coordinates of Ri ^ T , that is with our notations, in (wi;j).The matrix (wi;j) is also called an essential matrix. Scaling the vector of translation does notchange the system of equations (9). To �x this degree of freedom, we add a new equation(T jT )� 1 = 0 or �� 1 = 0 (10)Here again, it is a linear equation in the set of variables X of the previous section.16

As the space of displacements is of dimension six, it is enough to consider six equations toobtain a �nite number of solutions. This means that we can consider only �ve images of points(N = 5). According to prop. (4.7) and B�ezout's Theorem, this system has 40 solutions (R; T ).Let us note �T the symmetry around the axis of direction T . Remark that8x 2 A ;�T ^ �TRx = T ^ Rx;so that if (R; T ) is a solution of (9) and (10), we also have (R;�T ) and (�TR; T ), (�TR;�T ).These four solutions correspond to the same reconstruction, for these four cases are obtainedby taking the symmetric of the retinal planes with respect to the centers of projection. Conse-quently, there are at most 10 possible reconstructions when 5 points are projected on two retinalplanes. 25 ConclusionIn this paper, some results on enumeration of solutions in problems coming from mechanics,robotics or vision are presented. The approach we followed does not require sophisticated toolsfrom Algebraic Geometry, but is rather based on simple calculus with polynomials and thenovelty of the results is more in the proofs we give. Following a parallel between change ofvariables and blowing-up, we show how simple algebra (related to the part at in�nity of thevariety) helps us to simplify the enumeration of solutions. This approach applies to the varietiesof displacements for which a structure similar to a so-called Algebra with straightening laws ispresented. This structure allows us to compute the multiplicity of this representation, a resultwhich can be used immediately in the direct kinematic problem of a parallel robot and in theproblem of reconstruction in vision.It also raises some questions for possibles generalizations :� How can we use, in a general context, such changes of variables in order to simplify thealgebraic situation ?� Can this be helpful to compute more easily a graded part of an ideal (called Gr�obnerbases) ?We �nd this parallelism between simple algebraic transformations and blowing-up an interesting�eld for future investigation, which could help to avoid blind algorithmic methods that do notlead to satisfactory answers in E�ective Algebraic Geometry.References[1] M.F. Atiyah and I.G. MacDonald. Introduction to Commutative Algebra. Addison-Wesley,1969.[2] E. Brieskorn and H. Kn�orrer. Plane Algebraic Curves. Birkha�user Verlag, 1986.[3] A. Chenciner. Courbes alg�ebriques planes. Publications math�ematiques de l'Universit�e ParisVII, 1978.[4] C. DeConcini, D. Eisenbud, and C. Procesi. Hodge algebras. Ast�erisque, 91, 1982.[5] M. Demazure. Sur deux probl�emes de reconstruction. Rapport de Recherche INRIA, 882,1988. 17

[6] J. D�esarm�enien, Joseph P. S. Kung, and Gian-Carlo Rota. Invariant theory, Youngbitableaux, and combinatorics. Advances in Mathematics, 27(1):63{92, January 1978.[7] D. Eisenbud. Algebra, a view towards geometry. To appear, 1993.[8] E.B. Elliott. On linear homogeneous diophantine equations. Quart. J. Pure Appl. Math.,34:348{377, 1903.[9] O. Faugeras and S. Maybank. Motion from point matches: Multiplicities of solutions. Int.J. of Computer Vision, 4:225{246, 1990.[10] William Fulton. Intersection theory. Springer-Verlag, 1984.[11] R. Hartshorne. Algebraic Geometry. Springer-Verlag, 1977.[12] W. Hodge and D. Pedoe. Methods of algebraic geometry. Cambridge University Press, 1952.[13] K.H. Hunt and E.J.F Primrose. Assembly con�gurations of some parallel-actuated manip-ulators. Mech. Mach. Theory, 00(0):1{12, 1992.[14] D. Lazard. Generalized Stewart platform: How to compute with rigid motions? In IMACS-SC'93, 1993.[15] B. Mourrain. The 40 generic positions of a parallel robot. In M. Bronstein, editor, ISSAC'93,ACM press, pages 173{182, Kiev (Ukraine), July 1993.[16] F. Ronga and T. Vust. Stewart platforms without computer. Preprint, 1992.[17] I.R. Shafarevitch. Basic Algebraic Geometry. Springer Verlag, 1974.[18] H. Weyl. The Classical Groups, their invariants and representations. Princeton UniversityPress, 1939.

18