Page 205 - Geometric Modeling and Algebraic Geometry
P. 205

208    C. Liang et al.
                           vectors by their i-th coordinates. Assuming the sorted points v j are indexed by j =
                           0, 1, 2, ..., we form the edges v k , v k+1 ,for k =0, 2, 4, ...
                              However, a special case has to be taken into account, that is when v j has a mul-
                           tiplicity m i > 1, for instance, when C is tangent to the bounding domain D at v i .
                           In this case, we can treat v j conceptually as a multiple point which plays the role of
                           m i points. In this way, we proceed the connecting process in the same manner as we
                           do for the general case. To determine the multiplicity of a point v j , we only have to
                           evaluate the derivatives of C at this point.

                           11.3.3 Hierarchical subdivision

                           We adopted a hierarchical octree to partition the R space, for several reasons:
                                                                    3
                           •  each cell of the octree is equivalent to a cube-shaped domain D; which stores
                              the coefficients of the polynomials in the Bernstein basis of the corresponding
                              domain.
                           •  we can take cares of faces shared by cells, to minimize the number of calls to
                              solvers;
                           •  the hierarchical structure of octree allows us to terminate (stop further subdivi-
                              sion) early when a cell is deemed regular or irrelevant.
                              We begin by setting a initial bounding domain D 0 to a root cell. A cell is sub-
                           divided if the curve C defined in the correspondent domain fails the regularity test.
                           For each subdivision, we result in several smaller domains in form of sub-cells. For
                           each of them, we repeat the regularity test and, if necessary, further subdivides. The
                           subdivision of a cell will terminate either when the curve within is deemed regular,
                           or the size of the cell is beyond a predefined precision  .
                              There are several techniques to save computation efforts. As the sub-cells share
                           certain faces with their parent cell, the earlier computed intersections on the parent
                           cell’s faces are inherited directly by the sub-cells. In addition, sub-cells split from the
                           same parent cell do share some faces as well. Once again, the shared faces should be
                           computed exactly once.
                              Once a new face is introduced in the octree decomposition, the bivariate solver
                           described in section 11.2.2, is called directly with the Bernstein coefficients of the
                           polynomials on this face. The points we found are shared by neighbor cells, con-
                           nected to this face in the octree.

                           11.3.4 Symbolic-numeric approach

                           Some geometric operations such as computing the self-intersection curve or the ridge
                           curve of a parameterized surface leads to the computation of implicit curves of high
                           degree with coefficients of large size. This is either due to projection techniques (see
                           [9]), or to their definition through composed operations (see [3]). In order to be able
                           to handle such curve, the main difficulty is to control the result, using approximate
                           computation, since exact computation though possible, would be prohibitive. We de-
                           scribe here the symbolic-numeric approach that we have developed for this purpose.
   200   201   202   203   204   205   206   207   208   209   210