Page 168 - Geometric Modeling and Algebraic Geometry
P. 168

170    S. Chau et al.
                           For each value of s, we obtain two solutions r 1 (s) and r 2 (s) of the form

                                            b(s)   &                   b(s) 2  c(s)
                                 r 1,2 (s)= −    ±   d(s)  with d(s)=        −     .     (9.16)
                                           2 a(s)                     4 a(s) 2  a(s)
                           These solutions parameterize the two branches of the intersection curve I in the rs–
                           parameter domain of the second patch. By solving several quadratic equations we
                           determine the intervals S i,j ⊂ [0, 1], where d(s) ≥ 0 and 0 ≤ r i (s) ≤ 1 holds; this
                           leads to a (list of) feasible domain(s) (i.e., intervals) for each branch of the intersec-
                           tion curve.
                              By composing (9.16) with y we obtain the two branches k 1 (s) and k 2 (s) of the
                           intersection curve I,
                                                                 &
                                                        1          d(s)
                                k 1,2 (s)= y(r 1,2 (s),s)=  h(s) ±     l(s)+ d(s)m(s)    (9.17)
                                                      a(s) 2      a(s)
                           where the components of h(s), l(s) and m(s) are polynomials of degree 6, 4, and 2,
                           respectively.


                           Restriction to the region of interest.

                           Since the region of interest is located between the planes π 1 (x, y, z) and π 2 (x, y, z),
                           the two inequalities

                                             π 1 (x, y, z) ≥ 0  and  π 2 (x, y, z) ≤ 0   (9.18)

                           have to be satisfied. By intersecting each bounding plane with the second B´ ezier
                           surface y(r, s) in a similar way as described for π(u 0 )(x, y, z), we obtain

                                (s):= π 1 (y(r(s),s)) ≥ 0  and  k π 2 (s):= π 2 (y(r(s),s)) ≤ 0 (9.19)
                             k π 1
                           This leads to additional constraints for the feasible values of the parameter s.For
                           each branch of the intersection curve we create the (list of) feasible domain(s) and
                           store it. The bounds of the intervals can be computed by solving three systems of two
                           biquadratic equations or – equivalently – by solving a system of three polynomials
                           of degree 8, which are obtained after eliminating the parameter r. Here, we represent
                           the polynomials in Bernstein–B´ ezier form and use a B´ ezier–clipping–type technique
                           see [14, 25, 26, 28], applied to floating point numbers.
                           Example 2. For a parameter line u = u 0 of two biquadratic B´ ezier surface patches
                           x(u, v) and y(r, s), Fig. 9.4, right, shows the rs–parameter domain of the second
                           patch. Only the first branch r 1 (s) of the intersection curve is present. The bounds 0 ≤
                           r ≤ 1 do not impose additional bounds on s in this case. However, the intersection
                           with the bounding planes π 1 and π 2 produces two additional curves, which have to
                           be intersected with the curve s = r 1 (s), leading to two bounds s 0 and s 1 of the
                           feasible domain.
   163   164   165   166   167   168   169   170   171   172   173