Implicit Representation of Open B-Spline Curves Using Thin Offset Polygons

An open uniform B-spline is sampled and converted into a thin closed polygon by offsetting every sample in the positive and negative normal directions. The resulting nonzero-area polygon is passed to the ordinary monotone-formula construction. Thickness can be reduced continuously toward the original open curve.

Use Edit Mode to move, add, or delete control points. The gray line is the open control polygon and the red line is the open B-spline. The thin polygon is generated from consistently oriented normals determined by the order of the sampled points.
Open curve as a thin closed polygon. For each ordered curve sample Pi, a tangent is estimated from samples before and after it. Rotating this consistently oriented tangent by 90° gives a consistent normal Ni. Two new points Pi+ = Pi + rNi and Pi− = Pi − rNi form the two sides of a ribbon of thickness 2r.
Closed nonzero-area construction. The positive-offset points are traversed forward and the negative-offset points backward. The two connecting edges at the beginning and end automatically form the end caps. For r > 0 this is an ordinary closed polygon with nonzero area, so the standard monotone-formula algorithm can be applied without the zero-area degeneracy.
Normal smoothing. Span 1 estimates each interior tangent from one sample before and one sample after, analogous to the centered tangent used in Catmull–Rom constructions. Increasing the span uses more widely separated ordered samples. This smooths rapid changes in the estimated normal without changing the B-spline itself.
Open-curve limit. Reducing r makes the ribbon thinner. As r approaches zero, the two offset boundaries approach the original open B-spline. Thus the open curve can be studied as the limiting case of an ordinary implicit closed region.
Approximation and performance. Sampling approximates the B-spline geometrically; Akleman–Chen Approximate changes the functional Boolean combinations. These are independent approximations. The displayed computation time lets us determine experimentally how many samples remain practical for dynamic interaction.
Monotone Polygon Representation. D. Dobkin, L. Guibas, J. Hershberger, and J. Snoeyink (1988), “An Efficient Algorithm for Finding the CSG Representation of a Simple Polygon,” Computer Graphics, 22(4), 31–40.
Rvachev Operation. A. Pasko, V. Adzhiev, A. Sourin, and V. Savchenko (1995), “Function Representation in Geometric Modeling: Concepts, Implementations and Applications,” The Visual Computer, 11, 429–446, presenting the Rvachev formulation used here.
Akleman–Chen Operations. E. Akleman and J. Chen (1999), “Constant Time Updateable Operations for Implicit Shape Modeling” (PDF).