Starseeker (Talk  contribs) (Clarify that the project links don't have source code we can use, just research papers.) 
Starseeker (Talk  contribs) m (Starseeker moved page NURBS Intersections to NURBS Booleans: Work is now much more in boolean evals than intersections themselves) 
(No difference)

NonUniform Rational BSplines are the dominant geometric representation format in Computer Aided Design. BRLCAD's support for these primitives is relatively recent, and while we can raytrace them we do not have the ability to perform operations such as surface/surface intersection calculations. These abilities are fundamental to a wide variety of editing operations and essential to the process of converting implicitprimitive based boolean geometry trees to evaluated NURBS models.
This task would target the problem of implementing an algorithm to calculate surface/surface intersection for general NURBS surfaces. These guys implemented something very similar although their implementation was not robust: http://www.cs.unc.edu/~geom/CSG/boole.html These guys followed that work and implemented a robust solution, but killed performance: http://www.cs.unc.edu/~geom/ESOLID/ (Note that while the papers are excellent references from which to get ideas, the source code from these efforts is not license compatible with BRLCAD.) You will need to be very careful about tolerances and tolerance tracking without resorting to fixedprecision arithmetic. There are a variety of other research papers on the surface/surface intersection problem  students interested in this topic should discuss it with developers on the IRC channel or via email.