liveBook · Manning

Interval subdivision

As explained in Advanced Algorithms and Data Structures

Interval subdivision is a curve-intersection technique that splits a curve into monotone sections and refines their parameter intervals.

Interval subdivision checks whether Bézier curves intersect by replacing a difficult global comparison with progressively smaller, bounded sections. It first splits each curve at points where horizontal or vertical tangents occur, making every section monotone. section 15.4.4

A practical intersection procedure is:

  • Find tangent points parallel to the coordinate axes and split the curves there. section 15.4.4
  • Construct axis-aligned bounding boxes for the monotone sections and discard section pairs whose boxes do not overlap. section 15.4.4
  • Approximate overlapping sections with line segments, then halve the intervals and repeat until the approximation error is acceptable. section 15.4.4

Symmetric quadratic curves

For symmetric quadratic Bézier curves, initial bounding boxes are easy to obtain. If they overlap, split at axis-parallel tangents, compare only overlapping section pairs, and iterate until segment approximation meets the error threshold.

How Advanced Algorithms and Data Structures covers it

How deep it goes
Explains tangent-based splitting, bounding-box pruning, segment approximation, and iterative error refinement.
Examples
Uses generic Bézier curves and symmetric quadratic Bézier curves, including overlapping bounding boxes and repeated section halving.
What it assumes
Assumes Bézier curves, tangents, bounding boxes, monotonicity, and line-segment intersection are understood.
What you can do after
Apply interval subdivision to approximate and test intersections between Bézier-curve sections within a chosen error threshold.
How it connects
Links Bézier curves, monotone functions, bounding boxes, line-segment intersection, and Bézier clipping.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Advanced Algorithms and Data Structures. The section links point to the parts of the book it draws on.