Hjem til forsiden

Intersection algorithms
Intersection algorithms for spline and NURBS curves and surfaces have been a central research topic since 1980. The first challenges addressed were related to the intersection of B-spline curves, and the intersection of B-spline curves and elementary curves. Then in 1984 we got the first results on recursive intersection algorithms for B-spline surface, with a gradual deployment in industry. The development of SISL in 1989 allowed us to implement a second generation of surface intersection algorithms still keeping a focus on transversal intersections. With the discovery of approximate implicitization we at last had a tool for addressing singular intersections, and for addressing surface self-intersections. As approximate implicitization is computational intensive the deployment in industry is currently limited. However, the new massive parallel computational resource of many core processors satisfies the computational requirements of approximate implicitization and opens up new approaches for the architecture of intersection algorithms.
The shells of the object designed are described by composition of surfaces. Sometimes it is possible to define the objects by rectangular surfaces (NURBS) where the surfaces just share common boundaries and there is no need for trimming away parts of a surface. However, often the surfaces will be too large to be able to represent a desired shape and to design it with the constructive tools of the CAD-system. The curve where the surfaces meet will be an edge in the CAD-model to be found by intersecting the surfaces. For representing the relationships between surfaces, curves and surfaces in CAD-models, boundary structures are used.

Low quality of intersection algorithms expensiv for industry

In the Workshop on Mathematical Foundations of CAD (Mathematical Sciences Research Institute, Berkeley, CA. June 4-5, 1999.) the consensus was that: “The single greatest cause of poor reliability of CAD systems is lack of topologically consistent surface intersection algorithms.” Tom Peters, Computer Science and Engineering, The University of Connecticut, estimated the cost to be $1 Billion/year. For more information consult:

Now a decade later these challenges still remain.

Near singular intersection and non-regular parametrization an intersection challenge

Calculation of intersections is not difficult when the surfaces have a regular parameterization and are not near parallel along intersection curves (transversal intersection). However, if the parameterization is not regular, or if the surfaces intersect in regions where the surfaces are parallel or near parallel, intersection calculation gets challenging. One ambition of the GAIA II project has been to provide more accurate solutions for such intersections than what has been available by exploiting teh potential of approximate implcitization.

After the GAIA-project ended we have stabilized he prototype intersection algorithms.  However, still the time is little early for industrial use as the approach is computational intensive. However, with the introduction of heterogeneous many core CPUs sufficient computational performance will be available for industrial use. Topics now addressed are:

  •  Parallelize of approximate implicitization, part of PhD work in (2009-2010).
  • Redesign the algorithms to allow recursive subdivision to exploit many core CPUs, part of PhD work in (2009-2011).


Self-intersections are a challenge

Another challenge within CAD has been to avoid self-intersections in the shells of the volume described. These self-intersections are of different types:

  • A shell self-intersection is an intersection between different surfaces in the shell of the volume, with the intersection being no part of the adjacency description of the shell.
  • An open self-intersection is a self-intersection that occurs inside a parametric surface and the self-intersection curve does not describe a loop in the parameter domain of the surface. These can be found by first subdividing the surface into smaller pieces that themselves do not have closed self-intersection. The pieces can then be intersected.
  • A closed self-intersection is a self-intersection that occurs inside a parametric surface, where the intersection curve describes a loop in the parameter domain of the surface.

Isogeometric analysis poses new intersection challenges

Isogeometric analysis replaces the boundary structure type CAD-model, by modelling with trivariate rational spline volumes. Consequently the intersection of trivariate spline volumes will have to be handled. The current examples of isogeometric analysis avoid the intersection challenges by directly creating correct models. However, before the isogeometric analysis can be deployed in industry on large scale better approaches for model creation should be devised.

  • Building the model from CAD-models
  • Flexible Boolean operations between trivariate spline represented volumes

A component of such functionality will be to be able to intersect trivariate volumes and check that the trivariate volumes do not turn back on themselves (self-intersection).



Published December 23, 2009

Example: Transversal intersection.


Example: Near singular (tangential) intersection.

Example: Open self intersection