Computer Aided Geometric Design 18 (2001) 723–738 www.elsevier.com/locate/comaid
Implicitization and parametrization of nonsingular cubic surfaces T.G. Berry a , Richard R. Patterson b,∗ a Departamento de Matemáticas Puras y Aplicadas, Universidad Simón Bolivar, Caracas, Venezuela b Department of Mathematical Sciences, Indiana University – Purdue University Indianapolis,
402 North Blackford Street, Indianapolis, IN 46202-3216, USA Received March 2000; revised January 2001
Abstract In this paper we unify the two subjects of implicitization and parametrization of nonsingular cubic surfaces. Beginning with a cubic parametrization with six basepoints, we first form a three by four Hilbert–Burch matrix, and then a three by three matrix of linear forms whose determinant is the implicit equation. Beginning with an implicit equation, we show how to construct a three by three matrix of linear forms whose determinant is the implicit equation, and from it construct the Hilbert– Burch matrix and a parametrization. The intermediate three by three matrix is shown to contain information about lines and cubic curves that lie on the surface, as well as to aid in the construction of inversion formulas. 2001 Elsevier Science B.V. All rights reserved. Keywords: Cubic surfaces; Implicitization; Parametrization
1. Introduction In order to make cubic surfaces useful for geometric modeling, it is important to be able to pass back and forth between a rational parametrization and the implicit equation of the surface. These two operations are called implicitization and parametrization. For a nonsingular cubic surface, both descriptions are always possible (as opposed to the case of curves, where only singular cubic curves have a rational parametrization). In the literature, the subjects of implicitization and parametrization have been treated separately. A technique of implicitization by means of resultants was introduced in CAGD in 1985 by Sederberg, Anderson and Goldman (1985). For parametrizations with basepoints, this method was considerably refined by Chionh and Goldman in two papers * Corresponding author.
E-mail addresses:
[email protected] (T.G. Berry),
[email protected] (R.R. Patterson). 0167-8396/01/$ – see front matter 2001 Elsevier Science B.V. All rights reserved. PII: S 0 1 6 7 - 8 3 9 6 ( 0 1 ) 0 0 0 4 8 - 6
724
T.G. Berry, R.R. Patterson / Computer Aided Geometric Design 18 (2001) 723–738
(1992a and 1992b) and also by Manocha and Canny (1992). Implicitization can also be accomplished by means of Gröbner bases; see (Adams and Loustaunau, 1994) and (Cox et al., 1992). Implicitization by means of moving lines, planes and conics was initiated in (Sederberg et al., 1994). Four methods for parametrization are described by Sederberg and Snively (1987). One of them begins by finding two skew lines that lie in the surface. The resulting parametrization is in terms of polynomials of degree four. This method is expanded upon in (Sederberg, 1990b, Part 2) and (Bajaj et al., 1998). In this paper we unify the two subjects of implicitization and parametrization for cubic surfaces by describing a sequence of steps that can be used to pass back and forth between the two descriptions. The parametrizations are in terms of polynomials of degree three. The key point in our treatment is the construction of two matrices, a 3 × 4 matrix of linear forms in variables Yi , which we call the Hilbert–Burch matrix, and a related 3 × 3 matrix of linear forms in variables Xi . Then the steps passing between cubic parametrizations and nonsingular cubic surfaces are the following: Hilbert–Burch 3×3 {Basepoints} ↔ {Parametrization} ↔ ↔ Matrix Matrix Implicit ↔ . Surface The sections below treat the steps one at a time. All of the steps are reversible, so we can pass back and forth between parametrizations and implicit equations for surfaces.
2. Notation We assume the reader has a knowledge of projective spaces and some basic algebraic geometry in two and three dimensions. A classical reference is (Semple and Roth, 1985). Sederberg’s tutorials (1990a, 1990b, Parts 1–2) are an excellent introduction to the specific topic of cubic surfaces in the context of CAGD. Throughout we work with homogeneous coordinates in the projective plane and projective space. In RP2 we denote the homogeneous coordinates by Y = [Y1 , Y2 , Y3 ], and in RP3 , by X = [X1 , X2 , X3 , X4 ]. A parametrization of a surface in RP3 is Xi = gi (Y1 , Y2 , Y3 ), i = 1, . . . , 4, where the gi are homogeneous polynomials of the same degree (general enough so that the image is not a curve). The implicit equation of a surface is given by one equation F (X1 , X2 , X3 , X4 ) = 0, where F is a homogeneous polynomial in R[X1 , X2 , X3 , X4 ]. For a cubic surface the degree of F is 3. 3. Basepoints and parametrizations A parametrization of a surface is an example of a function between varieties. In general, a function between projective varieties is an equivalence class of maps, each member of the class being given by homogeneous polynomials in the coordinates and the equivalence relation being two such maps are equivalent if they agree at all points where both are
T.G. Berry, R.R. Patterson / Computer Aided Geometric Design 18 (2001) 723–738
725
defined. The domain of the whole function is the union of the domains of the members of the equivalence class. A point P is a basepoint of the function if it is outside the domains of all the individual maps. This would mean gi (P ) = 0, i = 1, . . . , 4. Nonsingular cubic surfaces over the complex numbers are parametrizable by four cubic polynomials that have six generic basepoints: no three of the 6 points are collinear and they do not all 6 lie on a conic; see, e.g., (Semple and Roth, 1985). If there are fewer than 6 basepoints, the degree of the implicit surface will be greater than 3. If the basepoints are not generic then the corresponding surface will be singular. The real nonsingular cubic surfaces split into five types, F1 , . . . , F5 , determined by the reality or otherwise of the basepoints. The F5 surfaces have two real components; see for example Fig. 3 in (Sederberg, 1990a, Part 1). Because the real projective plane has only one component, the F5 surfaces have no real one-to-one parametrization. This paper addresses the surfaces F1 , . . . , F4 only. The surfaces F1 , . . . , F4 correspond to the following locations of the 6 basepoints: F1 : 6 real points; F2 : 4 real points and 1 set of complex conjugate points; F3 : 2 real points and 2 sets of complex conjugate points; F4 : 3 sets of complex conjugate points. A generic set of basepoints gives rise to a linear system of cubics; the vector space of all cubic curves that pass through all 6 points. Because a typical cubic has 10 free coefficients, the dimension of the linear system is 4. A choice g = [g1 , g2 , g3 , g4 ] of basis of the linear system can also be thought of as a parametrization of a surface. The surface depends on the choice of the basis. If we choose a different basis, then the image of the map defined using this new basis will differ from the image of g by an invertible linear mapping of RP3 . For example, P 1 [1, 0, 0], P 2 [0, 1, 0], P 3 [0, 0, 1], P 4 [1, 1, 1], P 5 [1, 2, 3] and P 6 [2, −1, 1] are generic. After solving a linear problem, we find four linearly independent cubics that pass through all 6 points: g1 := Y1 3Y1 Y3 + Y32 + Y1 Y2 − 5Y22 , g2 := Y1 2Y1 Y3 + Y2 Y3 − 3Y22 , g3 := 1/2Y3 −5Y1 Y3 + 2Y2 Y3 + 3Y12 , g4 := 1/2Y3 Y12 − 3Y1 Y3 + 2Y22 . So g = [g1 , g2 , g3 , g4 ] parametrizes an F1 -surface.
4. Parametrizations and the Hilbert–Burch matrix Let g be a parametrization of a nonsingular cubic surface S, as described in the preceding section. A syzygy of [g1 , g2 , g3 , g4 ] is a 4-tuple [h1 , h2 , h3 , h4 ] of polynomials in (Y1 , Y2 , Y3 ) such that h1 g1 + h2 g2 + h3 g3 + h4 g4 = 0.
(1)
726
T.G. Berry, R.R. Patterson / Computer Aided Geometric Design 18 (2001) 723–738
The following theorem is fundamental: Theorem 1. There is a 3 × 4 matrix H of linear forms in the Yi such that, up to a constant multiple, the gi are the signed determinants of the 3 × 3 submatrices of H . The rows of H form a basis for the syzygies of [g1 , g2 , g3 , g4 ]. The rank of H (P ) is 3 if P is not a basepoint and 2 if P is a basepoint. The theorem is a consequence of the Hilbert–Burch theorem applied to the ideal of all polynomials vanishing on the given basepoints (which as it turns out is generated by the gi ). For detailed proofs, see, e.g., (Eisenbud, 1995) or (Geramita, 1989). The fact that the rows of H are syzygies of the gi means that H is eminently computable. One way to compute syzygies is with the aid of a computational commutative algebra program such as CoCoA (Capani, Niesi, Robbiano) or Macaulay2, where they are found by Gröbner basis methods, using any term order. (It is known that graded reverse Lex is usually the most efficient). Experiments in Macaulay2 and CoCoA show that this is indeed feasible when working over the rationals. However, to our knowledge Gröbner basis theory fails with floating point coefficients. In this case the floats would need to be converted to rationals. An alternative way to compute the syzygies is to take the hi with undetermined coefficients and solve the linear equations implied by the syzygy equation (1) for these coefficients. Four-vectors of linear forms in (Y1 , Y2 , Y3 ) form a 12-dimensional real vector space. The syzygy requirement imposes exactly 9 linear conditions (because of the theorem). A basis for the solution space consists of three 4-vectors of linear forms, and H can be taken as the matrix with these as rows. A change of basis of the solution space changes H by row operations, which multiply the 3 × 3 submatrices of H by a common constant. This does not affect the parametrization. The Hilbert–Burch matrix for the example we started above is 0 −1/3Y3 1/3Y1 −Y1 H = Y3 −5/3Y3 −2/3Y2 2/3Y3 . Y2
1/3Y1 − 5/3Y2 − 5/9Y3
−4/9Y1
0
If Hi is the matrix obtained from H by deleting column i, 2 det(H1 ) = − g1 , 9
2 − det(H2 ) = − g2 , 9
2 det(H3 ) = − g3 , 9
2 − det(H4 ) = − g4 . 9
5. The Hilbert–Burch matrix, the 3 × 3 matrix and the implicit equation The product H Xt is a 3-tuple whose entries are linear in (Y1 , Y2 , Y3 ) and also linear in (X1 , X2 , X3 , X4 ). Thus H Xt can be rewritten U Y t , where U is a 3 × 3 matrix whose entries are linear forms in (X1 , X2 , X3 , X4 ). We have the remarkable
T.G. Berry, R.R. Patterson / Computer Aided Geometric Design 18 (2001) 723–738
727
Theorem 2. The implicit equation of the cubic surface S parametrized by g is F (X1 , X2 , X3 , X4 ) := det(U ) = 0. Proof. It is known that det(U ) is not identically 0 (Geramita, 1989), thus F = 0 defines a cubic surface. It is enough to show that this surface contains S, since one cubic surface cannot properly contain another. Take Y in RP2 , not a basepoint of g, and set X = g(Y ). By the definition of the Hilbert–Burch matrix H , we have H (Y )X t = 0. But H (Y )X t = U (X)Y t so U (X)Y t = 0 also; that is, the system U (X)Y t = 0 of 3 equations in 3 unknowns (Y1 , Y2 , Y3 ) has a non-trivial solution, so det(U (X)) = 0. This shows that the parametrized surface is contained in F = 0, so we are done. ✷ A matrix such as U also appears in the course of parametrizing the surface by means of moving planes; see (Sederberg and Chen, 1995). For our continuing example the 3 × 3 matrix is 0 −1/3X2 1/3X3 − X4 0 −2/3X3 X1 − 5/3X2 + 2/3X4 U = 1/3X2 − 4/9X3 X1 − 5/3X2 and the equation of the F1 surface is
−5/9X2
F = det(U ) = 2/9X2 X32 − 1/3X12 X3 + 10/9X1 X2 X3 − X22 X3 − 2/9X1 X3 X4 + X12 X4 − 10/3X1X2 X4 + 25/9X22 X4 + 2/3X1 X42 − 10/9X2X42 = 0. At this point we have completed the implicitization part of the program, deriving F from [g1 , g2 , g3 , g4 ]. 6. Information derivable from the 3 × 3 matrix Before we tackle the problem of finding a matrix U for a given surface F = 0, we study some of the information we can obtain about the surface once we have U . Let us begin with the equation we used to define U , H (Y )Xt = U (X)Y t .
(2)
Several different interpretations have been given to this equation by different geometers, and each yields some useful geometric understanding. 6.1. Finding lines on the surface Room (1938) interprets U Y t = 0 as a system of three linear equations in X1 , X2 , X3 , and X4 Y1 u11 + Y2 u12 + Y3 u13 = 0, Y1 u21 + Y2 u22 + Y3 u23 = 0, Y1 u31 + Y2 u32 + Y3 u33 = 0.
728
T.G. Berry, R.R. Patterson / Computer Aided Geometric Design 18 (2001) 723–738
The 3 planes in the first row of U , u11 , u12 , u13 define a linear system of planes through their intersection point O 1 , and similarly for the other 2 rows. A parameter point Y selects a plane in each family; their intersection is X. In this way the surface is said to be projectively generated by three moving planes. (These points O i all lie on the surface; at O i the ith row of U is zero, hence so is the determinant.) For almost all parameter values Y , the moving planes have a unique point of intersection: the point X on the surface that corresponds to Y . For each of the 6 basepoints, however, the 3 planes intersect in a line. This follows from the fundamental equation (2), since at a basepoint all gi , which are the 3 × 3 subdeterminant of H , vanish as H has rank 2. This line lies on the surface, since if the rows of U are dependent, the determinant is zero. Let l i be the line obtained from the basepoint P i . The parametrization g is said to blow up the basepoint to this line. Now of course the determinant of the transpose U t also gives F . Working the steps backwards, we obtain a dual parametrization g¯ which has its own set of 6 basepoints P i and exceptional lines l¯i . Together this set of 12 lines that lie in the surface forms a double six (Segre, 1942). The l i are all skew to each other, as are the l¯i , but each of the l i intersects exactly five of the l¯i ; if we number them properly, l i does not meet l¯i , i = 1, . . . , 6. Every nonsingular cubic surface contains 27 lines (they may not all be real). The 6 basepoints and 6 conics through all but one basepoint give 12 of them. The other 15 correspond to the lines through pairs of basepoints. For the matrix U of the running example, the dual parametrization is g¯1 := −2/81Y2 6Y2 Y3 − 30Y1 Y3 + 20Y32 − 9Y12 − 45Y1 Y2 , g¯2 := 2/27Y2 3Y1 Y3 − 4Y32 + 9Y1 Y2 , g¯3 := −1/9Y3 2Y2 Y3 − 5Y1 Y3 − 3Y12 , g¯4 := 1/81Y3 9Y12 + 3Y1 Y3 − 20Y32 + 18Y22 . The basepoints are P 1 [0, 1, 0], P 2 [1, 0, 0], P 3 [−5, 0, 3], P 4 [−2, −3, 3], P 5 [−4, −2, 3] and P 6 [1, 3, 3]. These have already been numbered so that the corresponding lines form a double six as described above. The first row of U consists of only 2 planes in this example, u11 = 1/3X3 − X4
and u13 = −1/3X2
that determine a line on the surface. It is in fact the line l¯2 . Similarly the second row consists of 2 planes u22 = −2/3X3
and u23 = X1 − 5/3X2 + 2/3X4
that determine the line l¯1 . The planes u11 and u22 determine the line that corresponds to the line through P 1 and P 2 . In the same way, the first column of U determines l 1 , the second column l 2 , and the planes u11 and u22 determine the line that corresponds to the line through P 1 and P 2 .
T.G. Berry, R.R. Patterson / Computer Aided Geometric Design 18 (2001) 723–738
729
6.2. Finding cubic curves on the surface Baker (1961) explains how to find from U a cubic curve on the surface. The cofactors of the third row, equated to zero, give the three equations u12 u23 − u13 u22 = 0,
u11 u23 − u13 u21 = 0,
u11 u22 − u12 u21 = 0.
The last 2 have in common the line given by u11 = 0, u21 = 0 and in addition intersect in a cubic curve. A point of this curve also satisfies the first quadric, since u11 (u12 u23 − u13 u22 ) − u12 (u11 u23 − u13 u21 ) + u13 (u11 u22 − u12 u21 ) = 0, and similarly it satisfies F = det(U ) = 0, so it lies on the surface. Given the implicit equation F = 0 of a nonsingular cubic surface S, we ultimately want an algorithm for constructing a 3 × 3 matrix U of linear forms such that det(U ) = F . Once this is achieved, there is no problem in reversing the remaining steps in the implicitization process to arrive at a parametrization of S. Knowing a cubic curve on the surface is an essential step. Theorem 3. Constructing a matrix U such that det(U ) = F is equivalent to finding a twisted cubic curve on S. Proof. We just saw that a twisted cubic on S is defined by the 2 × 2 cofactors of a row of U . Conversely, suppose we have found a twisted cubic C ⊂ S. Any twisted cubic can be defined by 3 quadratic equations which are given as the determinants of the 2 × 2 submatrices of a 2 × 3 matrix of linear forms. For the parametrization [X1 , X2 , X3 , X4 ] = [1, t, t 2 , t 3 ] the matrix is
−X3 X2 X1 . −X4 X3 X2 For the general twisted cubic this matrix is modified by the appropriate linear transformation. Suppose the matrix is L = (Lij ), with Mi the determinant of the submatrix obtained by omitting column i, i = 1, . . . , 3. The radical ideal I (C) is generated by M1 , M2 , M3 (see (Cox et al., 1992) for information about radical ideals). Since C ⊂ S, F belongs to I (C), so F = F1 M1 − F2 M2 + F3 M3
(3)
for some homogeneous polynomials Fi , which must have degree 1, since deg Mi = 2, i = 1, . . . , 3. But this means that F1 F2 F3 F = L11 L12 L13 L21 L22 L23 and we are done. ✷ Once the Mi are known, the Fi can be found from Eq. (3) by equating coefficients and solving linear equations. Unfortunately, although there are an enormous number of twisted cubic curves on S (the images of general lines and of conics through 3 basepoints in the
730
T.G. Berry, R.R. Patterson / Computer Aided Geometric Design 18 (2001) 723–738
parameter plane are the most obvious, but not the only, examples) it seems difficult to lay hands on them. We shall in fact find reducible cubics consisting of a line meeting two skew lines, such as the lines determined by the plane pairs (u11 , u22 ), (u11 , u13 ) and (u22 , u23 ) of the running example. In addition if we can find some extra lines, we avoid having to solve a large system of linear equations. 6.3. Finding inversion formulas to a parametrization As mentioned in Section 3, a parametrization g represents a bijective function g : RP2 \ B → S \L, where B is the set of basepoints and L is the set of six lines on S that correspond to the basepoints of g; see, e.g., (Semple and Roth, 1985). Being a bijection, g has an inverse function. The inverse function must be defined as an equivalence class of maps s = [s1 , s2 , s3 ] known as inversion formulas. There are many choices for s having different domains in RP3 , but for any choice, s(g(Y )) = Y for Y in RP2 \ B (if s is defined at g(Y )), and if X lies on the surface (and in the domain of s), g(s(X)) = X. Inversion formulas can be derived from U . Theorem 4. If X is in S \ L, then the parameter value of X is the solution (unique up to a scalar multiple) of the system of linear equations U (X)Y t = 0. In particular, a solution is given by Yi = si (X), i = 1, . . . , 3, where the si (X) are the cofactors of the first row of U . So s = [s1 , s2 , s3 ] is an inversion formula for g. Proof. This is essentially going backwards through the proof of Theorem 2. Suppose X ∈ RP3 is in the image of g, i.e., there exists Y in RP2 with X = g(Y ). Then, arguing as in Theorem 2, H (Y )X t = U (X)Y t = 0, so Y is a solution of U (X)Y t = 0. Solving this system of equations by Cramer’s rule gives the result. ✷ Other inversion formulas can be found starting with any two independent vectors in the row space of U . An inverse function of g transforms all of the points on the line l i in L to the basepoint P i and all of the points on the line l¯i to the conic that passes through all of the basepoints of g except P i . For the continuing example, we obtain −2/3X3 X1 − 5/3X2 + 2/3X4 Y1 = X1 − 5/3X2 −5/9X2 = 10/27X2X3 − X12 + 10/3X1X2 − 25/9X22 − 2/3X1 X4 + 10/9X2X4 , 0 X1 − 5/3X2 + 2/3X4 Y2 = 1/3X2 − 4/9X3 −5/9X2 = 1/27(3X1 − 5X2 + 2X4 )(3X2 − 4X3 ), 0 −2/3X3 Y3 = 1/3X2 − 4/9X3 X1 − 5/3X2 = 2/3X3 (1/3X2 − 4/9X3).
T.G. Berry, R.R. Patterson / Computer Aided Geometric Design 18 (2001) 723–738
731
7. Parametrization of the cubic surface At this point we have an efficient method for implicitization of a parametric cubic surface. Moreover the intermediate 3 × 3 matrix gives extra potentially useful information about the surface. We now turn to the problem of reversing the last step; to go from the implicit equation F = 0 of a surface S to a 3 × 3 matrix U and hence to a parametrization. We do this by finding some lines on S that form a reducible cubic curve. 7.1. Finding lines on a cubic surface This is not necessarily easy. The problem is discussed in detail by Sederberg (1990b, Part 2) and Bajaj, Holt and Netravali (1998). Another method that might possibly be practical is to find explicitly the surface of degree 9 whose intersection with S consists exactly of the 27 lines of S; see (Hunt, 1996). One could then proceed using elimination theory to find a line. Henceforth we assume we have found a line on S. We use this line to find some other lines on S. First change coordinates so that the line is X3 = X4 = 0. Rotate a plane about this line and intersect it with the surface. This is done by letting X3 = tX4 in F = 0 and cancelling the factor X4 that always appears. The other factor, Q(t) = 0, is quadratic in X1 , X2 , X4 and represents the residual intersection of the plane with the surface. To find some other lines on the surface, we look for values of t for which Q(t) factors into two lines in the plane X3 = tX4 . For this we take the discriminant: the determinant of the Hessian of Q(t). It will have degree 5 in t. Each of the 5 roots corresponds to a plane in which the residual intersection is degenerate. Some of the 5 roots are real, some are complex, so some of the 5 planes are real, some are complex. In the real planes some of the factorizations of Q(t) are real, some are complex. At this time, we can classify our surface using Table 1, according to how many of the 5 values of t are real and whether or not the factorization in the corresponding plane is into real or complex lines. All of this is with respect to our chosen line. Note that F3 appears twice. Table 1 is derived from information in (Segre, 1942). Once we know the type of the surface, we know how many real tritangent planes it has and how many real lines it contains. (A plane tangent to a surface at three points is a tritangent plane. Any plane that contains three lines that lie in a surface is a tritangent plane.) Table 2 is given in (Segre, 1942) and is due to Schläfli (1863). 7.2. Constructing the 3 × 3 matrix U for F1 and F2 surfaces For an F1 or F2 surface, we choose two real roots t1 , t2 of the discriminant of Q(t). So m = X3 − t1 X4 and n = X3 − t2 X4 are real tritangent planes, and in each of these we have a real factorization into linear factors: Q(t1 ) = m1 m2 , Q(t2 ) = n1 n2 .
732
T.G. Berry, R.R. Patterson / Computer Aided Geometric Design 18 (2001) 723–738
Table 1 Number of real planes
Number of real factorizations
Surface type
5
5
F1
5
3
F3
5
1
F5
3
3
F2
3
1
F4
1
1
F3
Table 2 Surface type
Number of real tritangent planes
Number of real lines
F1
45
27
F2
15
15
F3
5
7
F4
7
3
F5
13
3
Theorem 5. Given a nonsingular cubic surface F = 0, two tritangent planes m and n that intersect in a line on the surface, and given in each of m and n two additional lines on the surface cut by planes m1 and m2 , n1 and n2 , there exists a plane p = p1 X1 + p2 X2 + p3 X3 + p4 X4 and constants k1 and k2 such the polynomial F is equal to the determinant 0 m1 m n n1 . 0 k1 m2 k2 n2 p Proof. We must show it is possible to express F as F = pmn − k1 nm1 m2 − k2 mn1 n2 or, in other words, show that F is in the ideal J = (mn, nm1 m2 , mn1 n2 ). If it is, the degrees of p, k1 and k2 are as stated, since F is cubic. Obviously F vanishes on the five lines, so more power of F is contained in the ideal L = (m, n) ∩ (m, m1 ) ∩ (m, m2 ) ∩ (n, n1 ) ∩ (n, n2 ). But L, being the intersection of radical ideals, is therefore radical itself, so F ∈ L. We finish the proof by showing L = J .
T.G. Berry, R.R. Patterson / Computer Aided Geometric Design 18 (2001) 723–738
733
We need four elementary facts: (i) if A, B, C are ideals and A ⊆ C then (A + B) ∩ C = A + B ∩ C. If q, r, s, t are linear forms defining a tetrahedron of reference, (ii) (q) ∩ (r, s) = (qr, qs). (iii) (qr) ∩ (s, t) = (qrs, qrt). (iv) (q) ∩ (r, st) = (qr, qst). After a coordinate change, q, r, s, t are the coordinate planes, so the last three statements can be proved directly. We begin with L and observe (m, n) ∩ (m, m1 ) = ((m) + (n)) ∩ (m, m1 ). Since (m) ⊆ (m, m1 ) we apply (i) to get (m) + (n) ∩ (m, m1 ) = (m) + (n) ∩ (m, m1 ), and applying (ii) gives (n) ∩ (m, m1 ) = (nm, nm1 ), whence (m, n) ∩ (m, m1 ) = (m) + (nm, nm1 ) = (m, nm, nm1 ) = (m, nm1 ). Similarly (n, n1 ) ∩ (n, n2 ) = (n, n1 n2 ). So L = (m, nm1 ) ∩ (m, m2 ) ∩ (n, n1 n2 ). Next
(m, nm1 ) ∩ (m, m2 ) = (m) + (nm1 ) ∩ (m, m2 ),
and again (i) applies to give (m, nm1 ) ∩ (m, m2 ) = (m) + (nm1 ) ∩ (m, m2 ), which by (ii) equals (m) + (nm1 m, nm1 m2 ) = (m, nm1 m2 ). So L = (m, nm1 m2 ) ∩ (n, n1 n2 ). Finally
(m, nm1 m2 ) ∩ (n, n1 n2 ) = (nm1 m2 ) + (m) ∩ (n, n1 n2 ).
Again, by (i) this equals (nm1 m2 ) + (m) ∩ (n, n1 n2 ) which by (iv) equals (nm1 m2 ) + (mn, mn1 n2 ) = J. So L = J and Theorem 5 follows.
✷
Comment: Because no X3 term ever occurs in any of m1 , m2 , n1 or n2 , the coefficient of X1 X32 in det(U ) will be p1 , the coefficient of X2 X32 will be p2 and the coefficient of X33
734
T.G. Berry, R.R. Patterson / Computer Aided Geometric Design 18 (2001) 723–738
will be p3 . Hence these are immediately available from F , leaving only three variables to solve for. For the running example, every term of F has either X3 or X4 as a factor, so we know a line on F . Performing the steps above we find the discriminant to be t (t − 1)(t − 2)(t − 3)(3t − 1). There are 5 real roots, and for each we obtain a real factorization, so we confirm we have an F1 surface. Using the roots t = 0, 1, the factorizations are Q(0) = (3X1 − 5X2 )(3X1 − 5X2 + 2X4 ), Q(1) = (X1 − 2X2 )(3X1 − 4X2 + 2X4 ). The equation to be solved is X3 0 0 X3 − X4 k1 (3X1 − 5X2 + 2X4 ) k2 (3X1 − 4X2 + 2X4 )
3X1 − 5X2 X1 − 2X2 = F. p
Maple gives the solution p1 = p3 = p4 = 0, p2 = 2/9, k1 = 1/9, k2 = −2/9. So we have another 3 × 3 matrix for F : 0 3X1 − 5X2 X3 1 U= 0 X3 − X4 X1 − 2X2 . 9 3X1 − 5X2 + 2X4 −2(3X1 − 4X2 + 2X4 ) 2X2 7.3. Constructing the 3 × 3 matrix U for F3 surfaces Again according to Segre, an F3 surface has 5 real tritangent planes, all passing through one real line. In 3 of these planes there is a real factorization, while in the other 2 there is a complex factorization, for a total of 7 real lines. If the line we have found in the surface is the line with the 5 real planes through it, we proceed exactly as with the F1 and F2 surfaces. In the more likely situation, there is only one real plane through our line and in it there is a real factorization. At this point, we have two alternatives: locate the line with the 5 real tritangent planes and then proceed as with the F1 and F2 surfaces, or use the method described in the next section for the F4 surface. To illustrate the first alternative, suppose we have found a line that lies on only one real tritangent plane. At least we know that one of the other two lines in this plane is the line we seek. Below is an illustration of finding which of these is the line on 5 real planes. Example. Every term of the following cubic has a factor either X3 or X4 , so again the line X3 = X4 = 0 lies on the surface. F = 5/6X22 X4 − 5/2X1 X2 X3 + 5/3X2 X32 − 5/2X2 X3 X4 − 5/2X1 X2 X4 − 3/2X2X42 + 5/3X1 X32 − 7/3X33 − 1/3X32 X4 + 5X1 X3 X4 + 3/2X3 X42 + 5/3X12 X3 + 5/6X12 X4 + X1 X42 .
T.G. Berry, R.R. Patterson / Computer Aided Geometric Design 18 (2001) 723–738
735
Letting X3 = tX4 , the discriminant of the resulting Q(t) is (t + 1) 2t 2 + 2t + 1 13t 2 + 18t + 9 . It has only one real root, t = −1, so one real tritangent plane, X3 + X4 = 0, passes through the line. The factorization of Q(−1) is (X1 + X2 + 3X4 )(5X1 − 5X2 − X4 ). So we have an F3 surface, but do not have the correct line. Let us try the line of intersection of X3 + X4 = 0 and 5X1 − 5X2 − X4 = 0. Use the transformation of coordinates X1 = X1 , X2 = X2 , X3 = X3 + X4 , X4 = 5X1 − 5X2 − X4 , with inverse X1 = X1 , X2 = X2 , X3 = −5X1 + 5X2 + X3 + X4 , X4 = 5X1 − 5X2 − X4 . The discriminant is t (7t + 1)(2t + 1)(6t + 1)(t + 1) so we have found the correct line. If it had been wrong we would need to use the other line and corresponding transformation. If t = 0 the tritangent plane is X3 = X3 + X4 = 0. Planes that cut the other two lines are found from the factorization of Q(0). They are 5X1 − 5X2 − X4 = X4 = 0 and 16X1 − 14X2 − 3X4 = X1 + X2 + 3X4 = 0. If t = −1 the tritangent plane is X3 + X4 = 5X1 − 5X2 + X3 = 0 and cutting planes are 13X1 − 12X2 = 13X1 − 12X2 = 0 and 45X1 − 40X2 − 3X4 = 30X1 − 25X2 + 3X4 = 0. We obtain 0 X4 X3 + X4 = F. 0 5X − 5X + X 13X − 12X 1 2 3 1 2 X1 + X2 + 3X4 30X1 − 25X2 + 3X4 80X1 − 60X2 − 14X3 + 12X4 We can now work back to compute the Hilbert–Burch matrix and the parametrization g1 = 14Y12Y2 + 40Y1 Y22 + 225Y1 Y2 Y3 + 130Y2 Y32 + 36Y12Y3 + 312Y1 Y32 + 168Y33 + 25Y22 Y3 , g2 = 16Y12Y2 + 45Y1 Y22 + 250Y1 Y2 Y3 + 150Y2 Y32 + 39Y12Y3 + 338Y1 Y32 + 182Y33 + 30Y22 Y3 ,
736
T.G. Berry, R.R. Patterson / Computer Aided Geometric Design 18 (2001) 723–738
g3 = 5(Y1 + Y3 ) 2Y1 Y2 + 5Y1 Y3 + 5Y22 + 27Y2 Y3 + 36Y32 , g4 = −5Y1 2Y1 Y2 + 5Y1 Y3 + 5Y22 + 27Y2 Y3 + 36Y32 . We can compute the basepoints and find, as expected, 2 real and 2 complex conjugate pairs: [0, 1, 0], [1, 0, 0], [13, 7 ± 17i, −4 ∓ 6i], [10, 12 ± 14i, −5 ∓ 5i]. 7.4. Constructing the 3 × 3 matrix U for F4 surfaces An F4 surface contains 3 real lines that lie in one real tritangent plane. Through each of these lines pass 2 more real tritangent planes and a pair of complex conjugate planes. In each of the real planes there is a complex factorization. The method above for creating the real 3 × 3 matrix U no longer works, since there are no 2 real planes with real factorizations through any of the 3 real lines. However, as a first step we can compute a complex matrix. Through our given real line pass two complex conjugate tritangent planes, m and m∗ . If t = α and t = α ∗ are complex conjugate roots of the discriminant of Q(t) = 0, then m = X3 − αX4 , m∗ = X3 − α ∗ X4 . The residual quadratic Q(α) in m factors into m1 m2 and Q(α ∗ ) in m∗ factors into m∗1 m∗2 . We form
m 0 m1 U= 0 m∗ m∗1 k1 m2 k2 m∗2 p and find there is a unique solution to det(U ) = F . To finish, we need the following: Proposition 6. With the notation above, p is real, k2 = k1∗ , and the matrix is equivalent to a real matrix. Proof. Because F is real,
0 = F − F ∗ = mm∗ (p − p∗ ) + (k1∗ − k2 ) m∗ m1 m2 − (m∗ m1 m2 )∗ .
Because mm∗ is real and m∗ m1 m2 − (m∗ m1 m2 )∗ is pure imaginary, p − p∗ = 0 and k1∗ − k2 = 0. To construct an equivalent real 3 × 3 matrix, we form U1 from U by adding row 2 to row 1 and column 2 to column 1, subtracting one half row 1 from row 2 and one half column 1 from column 2, and multiplying row 2 and column 2 by i. This matrix U1 is real and det(−U1 ) = F . ✷ This procedure works also for our example F3 surface. We can take α, α ∗ to be the roots of 2t 2 + 2t + 1. 7.5. Floating point considerations In the proceeding construction for U we made the implicit assumption that the roots of the discriminant are rational and that we could find explicitly the factorization Q(t) =
T.G. Berry, R.R. Patterson / Computer Aided Geometric Design 18 (2001) 723–738
737
m1 m2 . If the discriminant does not have rational roots we can proceed as follows to find an approximate parametrization. If t1 is a floating point approximation to a real root of the discriminant and the graph of Q(t1 ) = 0 is a hyperbola extremely close to two crossing lines, we can assume that Q(t1 ) should factor into the product of those two lines. By sampling some points and using least squares the two lines can be approximated and used as m1 and m2 . If this is repeated for a second root t2 one obtains n1 and n2 . The matrix U can be formed and det(U ) = F can be solved for p4 , k1 , k2 , again using least squares. The analogous construction works if t1 is a floating point approximation to a complex root of the discriminant and t2 = t1∗ .
References Adams, W., Loustaunau, P., 1994. An Introduction to Gröbner Bases, Amer. Math. Soc. Grad. Studies in Math. (3). Amer. Math. Soc., Providence, RI. Bajaj, C., Holt, R., Netravali, A., 1998. Rational parametrizations of nonsingular real cubic surfaces. ACM Trans. on Graphics 17, 1–31. Baker, H., 1961. Principles of Geometry. Frederick Ungar, New York. Chionh, E., Goldman, R., 1992a. Degree, multiplicity and inversion formulas for rational surfaces using u-resultants. Computer Aided Geometric Design 9, 93–108. Chionh, E., Goldman, R., 1992b. Implicitizing rational surfaces with base points by applying perturbations and the factors of zero theorem, in: Lyche, L., Schumaker, L. (Eds.), Mathematical Methods in Computer Aided Geometric Design II. Academic Press, pp. 101–110. Cox, D., Little, J., O’Shea, D., 1992. Ideals, Varieties, and Algorithms. Springer, New York. Eisenbud, D., 1995. Commutative Algebra With a View Toward Algebraic Geometry. Springer, New York. Geramita, A., 1989. Lectures on the non-singular cubic surface in P 3 , The Curves Seminar at Queen’s, Queen’s Papers in Pure and Applied Mathematics, Vol. 83. Queen’s University, Kingson, Ontario. Hunt, B., 1996. The Geometry of Some Special Arithmetic Quotients. Springer, New York. Manocha, D., Canny, J., 1992. Implicit representation of rational parametric surfaces. J. Symbolic Computation 13, 485–510. Room, T., 1938. The Geometry of Determinantal Loci. Camb. Univ. Press, London. Schläfli, L., 1863. On the distribution of surfaces of the third order into species, in reference to the presence or absence of singular points, and the reality of their lines. Phil. Trans. Royal Soc. London 153, 193–241. Sederberg, T., 1990a. Techniques for cubic algebraic surfaces, Part 1. IEEE Computer Graphics and Applications 10 (4), 14–25. Sederberg, T., 1990b. Techniques for cubic algebraic surfaces, Part 2. IEEE Computer Graphics and Applications 10 (5), 12–21. Sederberg, T., Anderson, D., Goldman, R., 1985. Implicitization, inversion, and intersection of planar rational cubic curves. Computer Vision, Graphics, and Image Processing 31, 89–102. Sederberg, T., Chen, F., 1995. Implicitization using moving curves and surfaces, in: Computer Graphics Proceedings, Annual Conference Series, pp. 301–308. Sederberg, T., Saito, T., Qi, D., Klimaszewski, K., 1994. Curve implicitization using moving lines. Computer Aided Geometric Design 11, 687–706.
738
T.G. Berry, R.R. Patterson / Computer Aided Geometric Design 18 (2001) 723–738
Sederberg, T., Snively, J., 1987. Parametrization of cubic algebraic surfaces, in: Martin, R.R. (Ed.), The Mathematics of Surfaces II. Clarendon Press, Oxford, pp. 299–319. Segre, B., 1942. The Non-Singular Cubic Surfaces. Oxford Univ. Press, London. Semple, J., Roth, L., 1985. Introduction to Algebraic Geometry. Clarendon Press, Oxford. Reprint of the 1949 original.