Skip to main content

Module self_intersection

Module self_intersection 

Source
Expand description

NURBS surface self-intersection detection.

Detects regions where a single NURBS surface folds back on itself, producing S(u1,v1) = S(u2,v2) with (u1,v1) ≠ (u2,v2).

§Algorithm

  1. Sample the surface on a grid, build triangles with (u,v) parameter ranges
  2. Build a BVH over triangle AABBs
  3. Query overlapping pairs, filter out adjacent triangles
  4. For non-adjacent close pairs: Newton-refine with constraint (u1,v1) ≠ (u2,v2), S(u1,v1) = S(u2,v2)
  5. March along self-intersection curves

Structs§

SelfIntersectionCurve
A self-intersection curve on a NURBS surface.

Functions§

detect_self_intersection
Detect self-intersections on a NURBS surface.