Page 217 - Geometric Modeling and Algebraic Geometry
P. 217

220    M. Shalaby and B. J¨uttler
                           Algorithm 2 Approximate implicitization by generalized cylinders
                           Input A parametric space curve C or a set of sampled points p i.
                           Output An implicit representation of the given space curve as the intersection of two gener-
                           alized cylinders.
                            1: Project the parametric space curve C (the points p i) orthogonally into two orthogonal
                              planes (e.g. xy-plane and xz-plane).
                            2: Apply an approximate implicitization method to the data in xy-plane and xz-plane. Let
                              the bivariate functions f(x, y) and g(x, z) define the implicit curves in xy-plane and xz-
                              plane respectively.
                            3: Define the two generalized cylinders by the polynomials f(x, y) and g(x, y) respectively.
                            4: Represent the curve C(x, y, z) as the intersection of the two generalized cylinders f(x, y)
                              and g(x, z).



                           Example 5. The left plot in Figure 12.4 (see page 222) shows a space curve (white)
                           which is represented as the intersection of two generalized cylinders Z(f) (black)
                           and Z(g) (grey), where f = f(x, y) and g = g(x, z).

                           12.3.3 Approximately orthogonal representation

                           Our method for generating an approximate implicitization by two approximately
                           orthogonal surfaces is based on the following simple observation.
                           Lemma 6. At all regular points x ∈ C(f, g), the gradients of the two functions

                                            F(x)= &∇f(x)& g(x)+ &∇g(x)& f(x)             (12.9)
                                            G(x)= &∇f(x)& g(x) −&∇g(x)& f(x)            (12.10)

                           are orthogonal.
                              This observation can be verified by a direct computation.

                           Remark 7. This result cannot be used at points where the two original surfaces in-
                           tersect each other tangentially. In the case of two generalized cylinders produced by
                           Algorithm 2, this happens only if the curve C has a tangent which lies in a plane that
                           is perpendicular to both projection planes. One may easily choose the two projection
                           planes such that this is not the case.
                              Clearly, even if the function f and g are piecewise polynomials, neither F nor G
                           are piecewise polynomials in general. We propose to approximate them by piecewise
                           polynomials, as follows.
                              The functions &∇f& and &∇g& depend on x, y and x, z respectively. We would
                                                                          ¯
                                                                                   g
                           like to approximate them by two piecewise polynomials f(x, y) and ¯(x, z) in the
                           area of interest, which is the region near the zero contours of the functions f and g.
                           (See [9] for more information and references on surface fitting.) The two approxi-
                           mating functions are to minimize
   212   213   214   215   216   217   218   219   220   221   222