Problem Reduction to Parameter Space Myung-Soo Kim1 and Gershon Elber2 1 2
Seoul National University, Seoul 151-742, South Korea Technion (Israel Institute of Technology), Haifa , Israel
Summary. This paper presents a problem reduction scheme that converts geometric constraints in work space to a system of equations in parameter space. We demonstrate that this scheme can solve many interesting geometric problems that have been considered quite dicult to deal with using conventional techniques. An important advantage of our approach is that equations represented in the parameter space have degrees signi cantly lower than those of geometric solution spaces in the original work space.
1 Introduction In computer aided geometric design, many algorithms have been developed for the design of freeform curves and surfaces [7,16,24]. Given a set of control points and other input parameters, curves and surfaces can be generated explicitly by the construction algorithms. Mathematically speaking, there are many well-de ned unary and binary geometric operations that can be applied to these curves or surfaces. For example, the convex hull, oset, sweep, and bisector computations are geometric operations that have clear mathematical meaning. Nevertheless, their implementation is non-trivial in practice. This paper proposes a problem reduction scheme that converts a variety of geometric operations on freeform curves and surfaces to zero-set nding problems in the parameter space of the original curves and surfaces. The zero-set of an m-variate function F (u1 ; : : : ; um ) = 0 is essentially the same as the intersection of the function graph surface um = F (u1 ; : : : ; um) and the hyperplane um+1 = 0. Thus it is essentially a special case of the hypersurface intersection problem. Some operations are converted to simultaneous equations in m-variables: Fi (u1 ; : : : ; um) = 0, for i = 1; : : : ; k. This is a problem of intersecting k hypersurfaces in m-dimensional space. Though still quite a challenging problem, the surface intersection problem has been relatively well-understood with a considerable amount of research work in the literature [13,16]. To illustrate the eectiveness of our approach, we apply the problem reduction scheme to some important geometric operations: Minkowski sum in three-dimension, general sweep of freeform surfaces, bisector of two freeform surfaces, the intersection of two ruled surfaces, and the intersection of two
2
Kim and Elber
ringed surfaces. Some of these results are reported in recent work of the authors and other colleagues. In this paper, we give only a brief summary of these recent results; more details can be found in References [5,6,11,12]. The approach based on the parameter space has an important advantage: the constraints in the parameter space have degrees signi cantly lower than those represented in the work space. To illustrate the basic idea of this approach, we consider a simple two-dimensional sweep problem in the plane. When a curve C1 (u1 ) = (x1 (u1 ); y1 (u1 )) moves (with a xed orientation) along another curve C2 (u2 ) = (x2 (u2 ); y2 (u2 )) in xy-plane, the sweep of C1 generates a planar region. This region is bounded by envelope curve, which is de ned by
x = x1 (u1 ) + x2 (u2 ); y = y1 (u1 ) + y2 (u2 ); 0 = x01 (u1 )y20 (u2 ) ; y10 (u1 )x02 (u2 );
(1) (2) (3)
where the third equation is the parallel constraint: C10 (u1 ) k C20 (u2 ). Eliminating u1 and u2 from the above three equations produces an algebraic equation e(x; y) = 0 of very high degree [2,10]. In contrast, the parallel constraint of the third equation is of considerably lower degree. Let F (u1 ; u2 ) = x01 (u1 )y20 (u2 ) ; y10 (u1 )x02 (u2 ), then F (u1 ; u2 ) = 0 is a necessary condition for a point (x(u1 ; v1 ); y(u1 ; v1 )) = C1 (u1 ) + C2 (u2 ) to be located on the envelope curve. After computing solutions of F (u1 ; u2) = 0 in u1 u2 -plane, the corresponding points on the envelope curve e(x; y) = 0 are constructed by simple addition: (x; y) = C1 (u1 ) + C2 (u2 ). In computing an envelope surface for two freeform surfaces S1 (u1 ; v1 ) and S2 (u2 ; v2 ), we need to consider ve equations in seven variables [3]. After eliminating four variables, we will end up with an algebraic surface e(x; y; z ) = 0 of extremely high degree [3]. Instead of eliminating u1 ; u2 ; v1 ; v2 , our approach considers two equations given in the four parameters: Fi (u1 ; u2 ; v1 ; v2 ) = 0, for i = 1; 2. After computing solutions of these two simultaneous equations, the points on the envelope surface e(x; y; z ) = 0 are constructed by addition: (x; y; z ) = S1 (u1 ; v1 ) + S2 (u2 ; v2 ). It is interesting to compare our approach with the dimensionality paradigm of Homann [14], where the solution set in xyzu1u2 v1 v2 -space is considered. In the above example of envelope surface, the solution set is contained in two cylindrical hypersurfaces: Fi (u1 ; u2 ; v1 ; v2 ) = 0, for i = 1; 2. Representing only two out of total ve hypersurfaces under consideration, these equations have degrees signi cantly lower than the solution set in xyzu1u2 v1 v2 -space, where the solution set itself is the result of intersecting all ve hypersurfaces. In contrast, the projection of solution set to xyz -subspace has considerably higher degree. Thus the selection of an appropriate subspace to project is very important. In this paper, we consider a few examples, where the x; y; z terms or other parameters are linear and thus can be eliminated very easily.
Problem Reduction to Parameter Space
3
As a simple two-dimensional example, where the x and y terms are linear, we consider the bisector curve of two rational curves C1 (u1 ) and C2 (u2 ) in the plane. Each point (x; y) on the bisector curve is at equal distance from C1 (u1 ) and C2 (u2 ); thus it satis es the following constraint equations: h(x; y) ; C1 (u1 ); C10 (u1 )i = 0; (4) 0 h ( x; y ) ; C ( u ) ; C ( u ) i = 0 ; (5) 2 2 2 2 (x; y) ; C1 (u1 ) +2 C2 (u2 ) ; C1 (u1 ) ; C2 (u2 ) = 0: (6) There are four variables in three equations. By eliminating two variables, we get one equation in two variables, which represents an implicit curve in the plane of two remaining parameters. Conventional approaches eliminate the parameters u1 and u2 to generate an implicit equation b(x; y) = 0 for the bisector curve in xy-plane [15]; or some approaches trace the curve b(x; y) = 0 numerically [8,9]. Unfortunately, the algebraic degree of b(x; y) = 0 is very high. (Using Mathematica [26], the authors [5] observe that the degree of b(x; y) = 0 becomes 7d1 d2 ; 3(d1 + d2 ) + 1, for 1 d1 3 and 1 d2 6, when each Ci (ui ) is a polynomial curve of degree di .) Note that the above equations are linear in x and y. Thus it is much easier to eliminate the variables x and y than the other curve parameters u1 and u2 . Moreover, the degree of the resulting implicit equation F (u1 ; u2 ) = 0 is signi cantly lower than that of b(x; y) = 0; e.g. the degree of F (u1 ; u2) is 2(d1 + d2 ) ; 2. When both Ci (ui ) are cubic polynomial curves, F (u1 ; u2 ) = 0 has degree 10, whereas b(x; y) = 0 has degree 46. When we consider the bisector of two rational surfaces in three-dimension, the dierence will be even greater. The authors [6] reformulate the bisector surface problem as a common zero-set nding problem: Fi (u1 ; u2; v1 ; v2 ) = 0, for i = 1; 2. A brief summary of this result is given in Section 4. Ruled surface has a linear parameter along each ruling direction. Thus, in the intersection of two ruled surfaces { formulated as three equations in four variables, two linear variables can be eliminated very easily. Based on this observation, Heo et al. [12] reformulate the intersection of two ruled surfaces as a zero-set nding problem: F (u1 ; u2 ) = 0. Johnstone [19] de nes ringed surface as the sweep of a moving circle under translation, rotation, and scaling. The intersection of two ringed surfaces can be decomposed into the intersection of two moving circles. Heo [11] reformulates the intersection of two circles C1u1 and C2u2 as the intersection of three planes and a sphere. Three planes in general position have a unique intersection point (x(u1 ; u2 ); y(u1; u2 ); z (u1 ; u2)), where the x; y; z coordinates are given as rational functions of u1 and u2 . Substituting these rational representations into the sphere equation, Heo [11] derives an implicit equation: F (u1 ; u2 ) = 0, which is a necessary condition for two circles to intersect. The rest of this paper is organized as follows. In Sections 2-4, we consider the Minkowski sum of two freeform shapes, the general sweep of a freeform
4
Kim and Elber
shape, and the bisector of two freeform surfaces. The intersection of two ruled surfaces and that of two ringed surfaces are brie y reviewed in Sections 5 and 6, respectively. Finally, in Section 7, we conclude this paper.
2 Minkowski Sum Computation Given two objects O1 and O2 , their Minkowski sum O1 O2 is de ned as the set of all vector sums generated by all pairs of points in O1 and O2 , respectively:
O1 O2 = fa + b j a 2 O1 ; b 2 O2 g:
(7)
The Minkowski sum of two objects considers all points in the interiors as well as on the boundaries of the two objects. The Minkowski sum has been used as an important tool for computing collision{free paths in robot motion planning [2,20]. Figure 1(a) shows the Minkowski sum O1 O2 of two planar curved objects O1 and O2 . In Figure 1(b), we compute the Minkowski sum O1 (;O2 ), where ;O2 is the symmetric object of O2 with respect to the local reference point (which is located at the origin). There is no collision between O1 and O2 as long as the reference point of O2 does not penetrate @ (O1 (;O2 )) (see Figure 1(c)). The object O1 (;O2 ) is called the Con guration-space (C-space) obstacle of O1 with respect to the moving object O2 . y
y
y
O1 O2 O2
O1 (;O2 ) x
;O2
x
x
O1 (a)
(b)
Fig. 1. Minkowski sum and C-space obstacle
(c)
Assume that O1 and O2 are bounded by the surfaces S1 (u1 ; v1 ) and S2 (u2 ; v2 ), respectively. The problem of computing the Minkowski sum boundary, denoted as @ (O1 O2 ), can be transformed into the problem of computing the convolution of S1 and S2 , denoted as S1 S2 [3]. In the convolution op-
eration, the vector sums are applied only to the pairs of surface points that have the same normal direction:
Problem Reduction to Parameter Space
5
De nition 1. Let S1 (u1 ; v1 ) and S2 (u2 ; v2 ) be two regular parametric sur-
@S faces. Moreover, let Ni (ui ; vi ) = @S @u (ui ; vi ) @v (ui ; vi ) denote the normal vector of Si (ui ; vi ), for i = 1; 2. The convolution surface S1 S2 is de ned by (S1 S2 )(u1 ; v1 ) = S1 (u1 ; v1 ) + S2 (u2 (u1 ; v1 ); v2 (u1 ; v1 )); (8) where N1 (u1 ; v1 ) k N2 (u2 ; v2 ) and hN1(u1 ; v1 ); N2 (u2 ; v2 )i > 0; (9) for a reparametrization (u2 ; v2 ) = (u2 (u1 ; v1 ); v2 (u1 ; v1 )). When both O1 and O2 are convex objects, the convolution surface S1 S2 is exactly the same as the Minkowski sum boundary @ (O1 O2 ). In general, @ (O1 O2 ) is only a subset of S1 S2 [2]. Thus, the convolution surface S1 S2 may have some redundant patches which do not contribute to the Minkowski sum boundary. To construct @ (O1 O2 ), we need to follow two steps: (i) compute the convolution surface S1 S2 , and (ii) eliminate the redundant patches of S1 S2 which do not contribute to @ (O1 O2 ). The second step, called trimming, essentially reduces to a surface intersection problem. A robust implementation of trimming is a non-trivial task even for the simple case of curve convolution [22]. Thus this paper concentrates on the generation of convolution surface only. The convolution surface S1 S2 is an envelope surface which is obtained by sweeping one surface S1 (with a xed orientation) along the other surface S2 [2]. Each point on the convolution surface S1 S2 satis es i i
i i
2 N1 (u1 ; v1 ); @S (u2 ; v2 ) = 0; @u 2 @S 2 N1 (u1 ; v1 ); @v (u2 ; v2 ) = 0;
(10) (11)
2
which is also equivalent to the following two equations
1 F1 (u1 ; u2 ; v1 ; v2 ) = @S @u1 (u1 ; v1 ) 1 F2 (u1 ; u2 ; v1 ; v2 ) = @S @u (u1 ; v1 ) 1
@S1 (u ; v ) @v1 1 1 @S1 (u ; v ) @v 1 1 1
@S2 (u ; v ) = 0; (12) @u2 2 2 @S2 (u ; v ) = 0: (13) @v 2 2 2
The problem has been essentially reduced to that of computing the intersection of two implicit hypersurfaces in u1u2 v1 v2 -space, the parameter space of the two original surfaces. For each solution (u1 ; u2; v1 ; v2 ) of two equations Fi (u1 ; u2 ; v1 ; v2 ) = 0, for i = 1; 2, the corresponding point (x; y; z ) in the workspace is given by the following well-de ned mapping (x(u1 ; u2; v1 ; v2 ); y(u1 ; u2 ; v1 ; v2 ); z (u1; u2 ; v1 ; v2 )) = S1 (u1 ; v1 ) + S2 (u2 ; v2 ):
(14)
6
Kim and Elber
3 General Sweep Computation Let O be a three-dimensional object bounded by a freeform surface S (u; v), and A(t) denote an ane transformation represented by a 4 4 matrix: 2 3 a11 (t) a12 (t) a13 (t) tx (t) 6 a (t) a (t) a (t) t (t) 7 22 23 y 7; 6 21 4 a (t) a (t) a (t) t (t) 5 31 32 33 z 0 0 0 1 where (aij (t))33 represents a linear transformation (e.g. rotation or shearing) and (tx (t); ty (t); tz (t)) denotes a translation of the coordinate system. The swept volume of the object O under the ane transformation A(t) is given by [t A(t)[O]. Assuming a t b, the boundary surface of the swept volume consists of some patches of A(a)[S (u; v)], A(b)[S (u; v)], and the envelope surface which is the set of points A(t)[S (u; v)] satisfying the following equation [1,18,23]:
@S (u; v) = 0: F (u; v; t) = A0 (t)[S (u; v)] A(t) @S ( u; v ) A ( t ) @u @v
Figures 2 and 3 show two examples of general sweep for a moving ellipsoid with dynamic shape change, but with a xed orientation. These examples show the potential of our approach in eectively generating complex threedimensional shapes based on a few simple motion and shape parameters.
Fig. 2. General sweep of an ellipsoid along an open trajectory
Problem Reduction to Parameter Space
7
Fig. 3. General sweep of an ellipsoid along a closed trajectory
4 Bisector Surface Computation Let S1 (u1 ; v1 ) and S2 (u2 ; v2 ) be two rational surfaces. We consider the bisector surface of S1 (u1 ; v1 ) and S2 (u2 ; v2 ), which consists of points (x; y; z ) satisfying the following ve constraint equations: @S 1 (u1 ; v1 ) (x; y; z ) ; S (u ; v ); = 0; (15)
@u1 @S 1 (u1 ; v1 ) (x; y; z ) ; S1 (u1 ; v1 ); @v = 0; 1 (u2 ; v2 ) = 0; (x; y; z ) ; S2 (u2 ; v2 ); @S2@u 2 @S 2 (u2 ; v2 ) (x; y; z ) ; S2 (u2 ; v2 ); @v = 0; 2 h(x; y; z ); 2(S2(u2 ; v2 ) ; S1 (u1 ; v2 ))i + kS1 (u1 ; v1 )k2 ; kS2(u2 ; v2 )k2 = 0: 1
1
1
(16) (17) (18)
(19) Equations (15) and (16) mean that the bisector point (x; y; z ) is located on the normal line of S1 (u1 ; v1 ), and Equations (17) and (18) imply that the point (x; y; z ) is on the normal line of S2 (u2 ; v2 ). Additionally, Equation (19) constrains the point (x; y; z ) to the symmetry plane of S1 (u1 ; v1 ) and S2 (u2 ; v2 ). Equations (15){(19) are all linear in (x; y; z ). Let (x; y; z ) = S1 (u1 ; v1 )+ n1 (u1 ; v1 ), 2 IR, be a bisector point located (u1 ;v1 ) (u1 ;v1 ) on the normal line of S1 (u1 ; v1 ), where n1 (u1 ; v1 ) = @S1@u @S1@v is 1 1
8
Kim and Elber
an unnormalized normal vector of S1 (u1 ; v1 ). Then, Equations (15) and (16) are automatically satis ed. By substituting (x; y; z ) into Equation (19), we get the equation
hS (u ; v ) + n (u ; v ); 2(S (u ; v ) ; S (u ; v ))i + kS (u ; v )k ; kS (u ; v )k = 0: 1
1
1
1
1
1
1
2
2
1
1
2 2
1
1
2
2
2
2
2
or, equivalently, 2 (u1 ; u2 ; v1 ; v2 ) = 2 hn (kuS1;(vu1);; vS1 )(u; ;Sv2 ()u;2 ; vS2 )(ku ; v )i : 1 1 1 2 2 2 1 1 1
(20)
Finally, we substitute this representation of (u1 ; u2 ; v1 ; v2 ) into (x; y; z ) = S1 (u1 ; v1 ) + (u1 ; u2 ; v1 ; v2 )n1 (u1 ; v1 ), and update Equations (17) and (18) with this new representation of (x; y; z ). Let (u1 ; u2 ; v1 ; v2 ) be de ned as follows:
(u1 ; u2 ; v1 ; v2 ) = 2(S2 (u2 ; v2 ) ; S1 (u1 ; v1 )) hn1 (u1 ; v1 ); S1 (u1 ; v1 ) ; S2 (u2 ; v2 )i +n1 (u1 ; v1 )kS1 (u1 ; v1 ) ; S2 (u2 ; v2 )k2 : Then, Equations (17) and (18) reduce to (u2 ; v2 ) = 0; F1 (u1 ; u2 ; v1 ; v2 ) = (u1 ; u2 ; v1 ; v2 ); @S2@u 2 @S ( u 2 2 ; v2 ) F2 (u1 ; u2 ; v1 ; v2 ) = (u1 ; u2 ; v1 ; v2 ); @v = 0:
2
(21) (22)
The common zero-set of Equations (21) and (22) satis es all ve constraints of Equations (15){(19). Hence, we have reduced the surface-surface bisector problem of IR3 into a common zero-set nding problem for the two four-variate functions of Equations (21) and (22). When the zero-set has been found, then, for each point (u1 ; u2 ; v1 ; v2 ) in the zero-set, the corresponding bisector point can be computed by the rational map (x(u1 ; u2 ; v1 ; v2 ); y(u1 ; u2; v1 ; v2 ); z (u1 ; u2; v1 ; v2 )) 2 2 ; v2 )k = S1 (u1 ; v1 ) ; 2 hn (kuS1; (vu1);; vS1 )(u; ;Sv2 ()u; S2 (u2 ; v2 )i n1 (u1 ; v1 ): 1 1 1 1 1 1
(23)
Figure 4 shows two examples of surface-surface bisector. Dots on the bisector surfaces are solutions of Equations (21) and (22). Each bisector surface is approximated by interpolating these discrete sample points with a spline surface.
Problem Reduction to Parameter Space
(a)
(b)
Fig. 4. Bisector surfaces (in gray) between two freeform surfaces
9
10
Kim and Elber
5 Intersecting Two Ruled Surfaces Let S1 (u1 ; t1 ) and S2 (u2 ; t2 ) be two ruled surfaces de ned by S1 (u1 ; t1 ) = p1 (u1 ) + t1 d1 (u1 ); (24) S2 (u2 ; t2 ) = p2 (u2 ) + t2 d2 (u2 ); (25) where p1 (u1 ) and p2 (u2 ) are position curves, and d1 (u1 ) and d2 (u2 ) are direction vector curves. When the two surfaces S1 (u1 ; t1 ) and S2 (u2 ; t2 ) intersect, we have S1 (u1 ; t1 ) = S2 (u2 ; t2 ); (26) and equivalently, p1 (u1 ) ; p2 (u2 ) = ;t1 d1 (u1 ) + t2 d2 (u2 ): (27) That is, the dierence vector p1 (u1 ) ; p2 (u2 ) is given as a linear combination of d1 (u1 ) and d2 (u2 ). Consequently, three vectors p1 (u1 ) ; p2 (u2 ), d1 (u1 ), and d2 (u2 ) are linearly dependent and the following determinant vanishes: F (u1 ; u2) = p1 (u1 ) ; p2 (u2 ) d1 (u1 ) d2 (u2 ) = 0: (28) For each point (u1 ; u2 ) on the zero-set of F (u1 ; u2) = 0, the corresponding intersection point (x; y; z ) can be computed by the following equation (see Equation (24)): (x; y; z ) = p1 (u1 ) + t1 (u1 ; u2 )d1 (u1 ); (29) where t1 (u1 ; u2 ) is the solution of Equation (27). We consider how to represent t1 (u1 ; u2) as a rational bivariate function of u1 and u2 . By taking inner products of Equation (27) with the vectors d1 (u1 ) and ;d2 (u2 ), we obtain the following linear system of equations for t1 and t2 : ;kd1 (u1 )k2 hd1 (u1 ); d2 (u2 )i t1 = hd1 (u1 ); p1 (u1 ) ; p2 (u2 )i : hd1 (u1 ); d2 (u2 )i ;kd2 (u2 )k2 t2 hd2 (u2 ); p2 (u2 ) ; p1 (u1 )i Let 1 (u1 ; u2 ) be de ned as follows 1 (u1 ; u2 ) = kd2 (u2 )k2 hd1 (u1 ); p2 (u2 ) ; p1 (u1 )i + hd1 (u1 ); d2 (u2 )i hd2 (u2 ); p1 (u1 ) ; p2 (u2 )i : Then we have 1 (u1 ; u2) t1 (u1 ; u2 ) = : (30) 2 kd1 (u1 )k kd2 (u2 )k2 ; hd1 (u1 ); d2 (u2 )i2 Consequently, we have a well-de ned rational mapping from the zero-set of F (u1 ; u2 ) = 0 to the intersection curve: (x(u1 ; u2 ); y(u1 ; u2 ); z (u1; u2 )) = p1 (u1 ) + t1 (u1 ; u2 )d1 (u1 ): (31)
Problem Reduction to Parameter Space
11
Figure 5(a) shows a simple example of intersecting two ruled surfaces that meet transversally. The corresponding bivariate function F (u1 ; u2) is shown in Figure 5(b). Figures 6(a){6(d) show a sequence of examples that intersect two almost coaxial cylinders with angles of 10, 1, 0:1, 0:01 between the two cylinders, in that order. Figures 6(e) and 6(f) are the corresponding bivariate functions F (u1 ; u2) of the examples shown in Figures 6(a) and 6(d), respectively. It is very dicult to distinguish two intersecting cylinders that appear almost overlapping in Figures 6(c){6(d). Moreover, the function of Figure 6(f) is almost at. Nevertheless, the computation results are numerically stable and they produce reasonable solutions, which demonstrates the robustness of our intersection algorithm for two ruled surfaces.
6 Intersecting Two Ringed Surfaces Let S1 (u1 ; t1 ) and S2 (u2 ; t2 ) be two ringed surfaces, each of which is de ned as a union of one-parameter family of circles: S1 (u1 ; t1 ) = [u1 C1u1 (t1 ) and S2 (u2 ; t2 ) = [u2 C2u2 (t2 ); (32) where C1u (ti ) is a circle parameterized by ti , for i = 1; 2. Assume that the circle Ciu has center pi (ui ) and radius ri (ui ); moreover, the circle is contained in the plane Piu with normal ni (ui ). Let Oiu denote the sphere with center pi (ui ) and radius ri (ui ). Then we have C1u1 = P1u1 \ O1u1 and C2u2 = P2u2 \ O2u2 : (33) The intersection S1 \ S2 is a union of two-parameter family of circle-circle intersections: S1 \ S2 = [u1 [u2 C1u1 \ C2u2 = [u1 [u2 (P1u1 \ O1u1 ) \ (P2u2 \ O2u2 ) = [u1 [u2 (P1u1 \ P2u2 ) \ (O1u1 \ O2u2 ) u1 u2 = [u1 [u2 (P1u1 \ P2u2 ) \ C12 = [u1 [u2 (P1u1 \ P2u2 ) \ (P12u1 u2 \ O1u1 ) = [u1 [u2 (P1u1 \ P2u2 \ P12u1 u2 ) \ O1u1 (34) u u u u 1 2 1 u2 2 = [u1 [u2 (P1 \ P2 ) \ (P12 \ O2 ) = [u1 [u2 (P1u1 \ P2u2 \ P12u1 u2 ) \ O2u2 ); (35) u1 u2 is the intersection circle of two spheres Ou1 and Ou2 , and P u1 u2 where C12 1 2 12 u1 u2 . is the plane containing the circle C12 A simple calculation shows that the plane P12u1 u2 contains the following point: p1 (u1 ) + p2 (u2 ) r12 (u1 ) ; r22 (u2 ) (p (u ) ; p (u )) : + (36) 1 1 2 2kp1 (u1 ) ; p2 (u2 )k2 2 2 i
i
i
i
12
Kim and Elber
(a)
(b)
Fig. 5. Intersection of two ruled surfaces. (a) Two ruled surfaces. (b) Function graph (
(
u1 ; u2 ; F u1 ; u2
)) and the zero-set (
F u1 ; u2
)=0
Problem Reduction to Parameter Space
(a)
(b)
(c)
(e)
13
(d)
(f)
Fig. 6. Intersection of two cylinders. (a){(d) Two almost coaxial cylinders, meet
ing with angles of 10 , 1 , 0 1 , 0 01 , respectively. (e){(f) Function graphs ( 1 2 ( 1 2 )) and the zero-sets ( 1 2 ) = 0 for cases (a) and (d), respectively :
u ;u ;F u ;u
:
F u ;u
Moreover, the dierence vector p1 (u1 ) ; p2 (u2 ) is a normal vector of the plane P12u1 u2 . Note that the inner product of this normal vector and the position
vector of Equation (36) produces kp1 (u1 )k2 ; kp2 (u2 )k2 + r22 (u2 ) ; r12 (u1 ) : (37) 2 Consequently, the intersection point (x; y; z ) of three planes P1u1 , P2u2 , and P12u1 u2 satis es the following matrix equation:
hn1 (u1 ); p1 (u1 )i n1 (u1 ) x 5 : (38) 4 54y5 = 4 hn2 (u2 ); p2 (u2 )i n2 (u2 ) kp1 (u1 )k2 ;kp2 (u2 )k2 +r22 (u2 );r12 (u1 ) p1 (u1 ) ; p2 (u2 ) z 2 2
32
3
2
3
When the three vectors n1 (u1 ), n2 (u2 ), and p1 (u1 ) ; p2 (u2 ) are linearly independent, the above matrix equation has a unique solution (x(u1 ; u2); y(u1 ; u2 ); z (u1; u2 )). The coordinate functions x(u1 ; u2); y(u1 ; u2 ); z (u1 ; u2) are rational
14
Kim and Elber
if the position curve pi (ui ) and the radius function ri (ui ) are all rational, for i = 1; 2. The condition of this intersection point being located on the sphere Oiu can be formulated as follows Fi (u1 ; u2) = k(x(u1 ; u2); y(u1 ; u2 ); z (u1; u2 )) ; pi (ui )k2 ; ri2 (ui ) = 0: i
When the vectors n1 (u1 ), n2 (u2 ), and p1 (u1 ) ; p2 (u2 ) are linearly independent, the equation F1 (u1 ; u2) = 0 (or F2 (u1 ; u2 ) = 0) is a necessary condition for two circles C1u1 and C2u2 to have a non-empty intersection point. For each point (u1 ; u2 ) on the zero-set of F1 (u1 ; u2) = 0 (or F2 (u1 ; u2 ) = 0), the corresponding intersection point can be computed by the rational map (x(u1 ; u2 ); y(u1; u2 ); z (u1 ; u2)) which is the solution of Equation (38). Figure 7(a) shows two cylinders transversally intersecting each other. The cylinders are interpreted as ringed surfaces; the corresponding bivariate function F (u1 ; u2) is shown in Figure 7(b).
0.2 2 0
1.5 1
-0.2 0.5 0
-0.4
-0.5 -0.6
-1 -2
-2 -1
-1
0
0 0.2
0.2
0
0
0.4
0.4 0.6
0.6
1
1
0.8
0.8 2 2
1 1
(a)
(b)
Fig. 7. Intersection of two ringed surfaces. (a) Two ringed surfaces. (b) Function graph (
(
u1 ; u2 ; F u1 ; u2
)) and the zero-set (
F u1 ; u2
)=0
7 Conclusions In this paper, we presented a problem reduction scheme to the parameter space. The eectiveness of this approach has been demonstrated through some important geometric operations such as computing Minkowski sums, general sweeps, bisector surfaces, and intersecting ruled surfaces and ringed surfaces. These examples are taken from the result of our own recent work, and also from joint work with other colleagues. The problem reduction scheme is not limited to the operations discussed in this paper. Future work will
Problem Reduction to Parameter Space
15
introduce more problems that can be solved using the scheme presented in this paper. New techniques also need to be developed for reducing geometric constraints to those formulated with lower degrees and less variables. An important remaining question is how to compute the zero-set of the reduced equations in the parameter space. A subdivision based approach, using the Berstein-Bezier basis functions, has been used in implementing the examples shown in this paper [5,6,12]. The basic approach is similar to conventional techniques in computing the solutions of multivariate equations [17,21,25]
8 Acknowledgements The authors thank Hee-Seok Heo for collaboration on the work for intersecting ruled surfaces and ringed surfaces. This research was supported in part by the Korean Ministry of Information and Communication (MIC) under the program of University S/W Research Center.
References 1. Abdel-Malek, K., Yeh, H.-J. (1997) Geometric Representation of the Swept Volume Using Jacobian Rank-De ciency Conditions. Computer-Aided Design 29, 457{468 2. Bajaj, C., Kim, M.-S. (1989) Generation of Con guration Space Obstacles: The Case of Moving Algebraic Curves. Algorithmica , 4:2, 157{172 3. Bajaj, C., Kim, M.-S. (1990) Generation of Con guration Space Obstacles: The Case of Moving Algebraic Surfaces. The Int'l J. of Robotics Research 9, 92{112 4. Elber, G. (1996) IRIT 7.0 User's Manual , Technion, http://www.cs.technion. ac.il/~irit. 5. Elber, G., Kim, M.-S. (1998) Bisector Curves of Planar Rational Curves. Computer-Aided Design 30, 1089{1096 6. Elber, G., Kim, M.-S. (2000) A Computational Model for Nonrational Bisector Surfaces: Curve-Surface and Surface-Surface Bisectors. To appear in Proc. of Geometric Modeling and Processing 2000 , Hong Kong, April 10-12, 2000 7. Farin, G. (1997) Curves and Surfaces for Computer Aided Geometric Design: A Practical Guide , Fourth Ed., Academic Press, San Diego 8. Farouki, R., Johnstone, J., (1994) Computing Point/Curve and Curve/Curve Bisectors. Design and Application of Curves and Surfaces: Mathematics of Surfaces V , R.B. Fisher (Ed.), Oxford Univ. Press, New York, 327{354 9. Farouki, R., Ramamurthy, R. (1998) Speci ed-precision Computation of Curve/Curve Bisectors. Int'l J. of Computational Geometry & Applications 8, 599{617 10. Kaul, A., Farouki, R. (1995) Computing Minkowski Sums of Plane Curves. Int'l J. of Comp. Geom. and Appl. 5, 413{432 11. Heo, H.-S. (2000) The Intersection of Ruled and Ringed Surfaces , Ph.D. Thesis, Dept. of Computer Science, POSTECH, February, 2000. 12. Heo, H.-S., Kim, M.-S., Elber, G. (1999) The Intersection of Two Ruled Surfaces. Computer-Aided Design 31, 33{50
16
Kim and Elber
13. Homann, C. (1989) Geometric and Solid Modeling: An Introduction , Morgan Kaufmann, San Mateo, CA 14. Homann, C. (1990) A Dimensionality Paradigm for Surface Interrogations. Computer Aided Geometric Design 7, 517{532 15. Homann, C., Vermeer, P. (1991) Eliminating Extraneous Solutions in Curve and Surface Operation. Int'l J. of Comp. Geom. and Appl. 1, 47{66 16. Hoschek, J., Lasser, D. (1993) Fundamentals of Computer Aided Geometric Design , A.K. Peters, Wellesley, MA 17. Hu, C.-Y., Maekawa, T., Sherbrooke, E., Patrikalakis, N. (1996) Robust Interval Algorithm for Curve Intersections. Computer-Aided Design 28, 495{506 18. Joy, K., Duchaineau, M. (1999) Boundary Determination for Trivariate Solid. Proc. of Paci c Graphics '99 , Seoul, Korea, October 5{7, 1999, 82{91 19. Johnstone, J. (1993) A New Intersection Algorithm for Cyclides and Swept surfaces using Circle Decomposition. Computer Aided Geometric Design 10, 1{24 20. Kohler, M., Spreng, M. (1995) Fast Computation of the C-space of Convex 2D Algebraic Objects. The Int' J. of Robotics Research 14, 590{608 21. Lane, J., Riesenfeld, R. (1981) Bounds on a Polynomial. BIT 21, 112{117 22. Lee, I.-K., Kim, M.-S., Elber, G. (1998) Polynomial/Rational Approximation of Minkowski Sum Boundary Curves. Graphical Models and Image Processing 60, 136{165 23. Martin, R., Stephenson, P. (1990) Sweeping of Three-Dimensional Objects. Computer-Aided Design 22, 223{234 24. Piegl, L., Tiller, W. (1995) The NURBS Book , Springer, Berlin Heidelberg 25. Sherbrooke, E., Patrikalakis, N. (1993) Computation of the Solutions of Nonlinear Polynomial Systems. Computer Aided Geometric Design 10, 379{405 26. Wolfram, S. (1991) Mathematica , 2nd Ed., Addison-Wesley